Skocz do zawartości

Arduino, Wifi, MySQL, PHP - co wybrać?


japolak

Pomocna odpowiedź

Witam
Jestem laikem w kwestii elektroniki.. ale jakiś czas temu zrodził się pewien pomysł w głowie i chciałem sobie go w końcu zrealizować.


Co chciałbym uzyskać?:
Chce na jednej ze swoich stron opartej na PHP, MySQL zapisywać dane dotyczące np. ilości, godziny itp wciśnięcia jakiegoś przycisku. Chciałbym aby dane były wysyłane za pośrednictwem Wifi  na serwer z moją bazą MySQL, zaraz po wciśnięciu tego przycisku.

Moje pytanie brzmi: Jaki model arduino czy ESP kupić aby taki laik z elektroniki poradził sobie z tym problemem.

To co mam na tą chwilę w domu to paczkę różnych elektronicznych bajerów wchodzący w skład "Kursu podstaw elektroniki - Forbota" oraz drugą skrzynkę nazwaną "Botland - starter Kit", Arduino Uno R3

Zależy mi na tanim, prostym i stabilnym rozwiązaniu. Co kupić aby najprościej było z konfiguracją,.. wg Waszego doświadczenia.. A później będę już sobie radził 😛
 

Link do komentarza
Share on other sites

Witam na forum 🙂

13 godzin temu, japolak napisał:

Chce na jednej ze swoich stron opartej na PHP, MySQL zapisywać dane dotyczące np. ilości, godziny itp wciśnięcia jakiegoś przycisku. Chciałbym aby dane były wysyłane za pośrednictwem Wifi  na serwer z moją bazą MySQL, zaraz po wciśnięciu tego przycisku.

Możesz sprecyzować trochę o jaką sytuację chodzi? Chcesz: zliczać kliknięcia w przycisk umieszczony na stronie WWW czy chcesz zliczać kliknięcia w fizycznych przycisk podłączony do ESP i wyświetlać te informacje na stronie?

Link do komentarza
Share on other sites

6 godzin temu, Treker napisał:

Witam na forum 🙂

Możesz sprecyzować trochę o jaką sytuację chodzi? Chcesz: zliczać kliknięcia w przycisk umieszczony na stronie WWW czy chcesz zliczać kliknięcia w fizycznych przycisk podłączony do ESP i wyświetlać te informacje na stronie?

Nie no oczywiście, że fizycznego przycisku 🙂  
to co napisałem to jest bardzo uogólnione.  Teraz nieco bardziej szczegółowo: Tak naprawdę chce sobie zrobić jakąś skrzyneczkę z wyświetlaczem myślałem podłaczyć arduino i wyświetlacz 2 rzędowy (z mojego zestawu forbota),  skrzynka by miała możliwość wystartowania stopera za pomocą fizycznego przycisku, jak również, reset, pauze, okrążenie. .a wszystkie dane (wciśnięcia fizycznych przycisków) by się zapisywały w mojej bazie mysql.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

3 godziny temu, deshipu napisał:

Kiedy piszesz "naciśnięcia by się zapisywały", jakie dokładnie dane masz na myśli i z jaką dokładnością?

dokładny czas wciśnięcia jakiegokolwiek z przycisku - oraz informacja który przycisk był wciśnięty. z dokładnością do 1 sek. 

Link do komentarza
Share on other sites

Oczywiście skrzyneczka stoi tam, gdzie masz zawsze zasięg WiFi i nie dopuszczasz sytuacji, w której Twój AP dostał zwisu, elektrownia wyłączyła prąd albo żelazko zrobiło zwarcie, a Ty właśnie wciskasz przycisk? Ani takiej, że gdzieś po drodze między Twoją skrzyneczką a Twoim serwerem któryś z routerów dostał padaczki i masz chwilową przerwę w połączeniu? Bo to właśnie oznacza "zaraz po wciśnięciu".

 

  • Lubię! 1
Link do komentarza
Share on other sites

3 godziny temu, ethanak napisał:

Oczywiście skrzyneczka stoi tam, gdzie masz zawsze zasięg WiFi i nie dopuszczasz sytuacji, w której Twój AP dostał zwisu, elektrownia wyłączyła prąd albo żelazko zrobiło zwarcie, a Ty właśnie wciskasz przycisk? Ani takiej, że gdzieś po drodze między Twoją skrzyneczką a Twoim serwerem któryś z routerów dostał padaczki i masz chwilową przerwę w połączeniu? Bo to właśnie oznacza "zaraz po wciśnięciu".

Jeśli projekt jest czysto hobbystyczny/edukacyjny, a tak wynika z tego tematu, to chyba możemy śmiało przyjąć odpowiednio luźną definicję "zaraz po wciśnięciu". Wiadomo, że inżynier powinien określać wymagania projektu bardzo precyzyjnie, ale czasami z kontekstu możemy wywnioskować, że to bardziej potoczny opis założeń projektu. Jak dane trafią na serwer sekundę później to raczej nic wielkiego się nie stanie (grunt, aby zapisany pomiar był precyzyjny) 😉

17 godzin temu, japolak napisał:

to co napisałem to jest bardzo uogólnione.  Teraz nieco bardziej szczegółowo: Tak naprawdę chce sobie zrobić jakąś skrzyneczkę z wyświetlaczem myślałem podłaczyć arduino i wyświetlacz 2 rzędowy (z mojego zestawu forbota),  skrzynka by miała możliwość wystartowania stopera za pomocą fizycznego przycisku, jak również, reset, pauze, okrążenie. .a wszystkie dane (wciśnięcia fizycznych przycisków) by się zapisywały w mojej bazie mysql.

@japolak w takim razie najłatwiej (moim zdaniem) byłoby rozbić problem na 2 mniejsze. Po pierwsze musisz mieć skrypt na serwerze, który będzie zapisywał dane do bazy. Możesz mieć przykładowo skrypt w PHP, który będzie zapisywał dane przekazane przez GET. Będziesz wtedy np. wywoływał skrypt "stoper.php?okrazenie=XXXXXX", a informacje przekazane do skryptu będą zapisywane do bazy (po wcześniejszej filtracji danych wejściowych). Druga część to program na ESP, który będzie pełni rolę stopera i w odpowiednich momentach będzie wywoływał  url skryptu wraz z danymi, które mają być zapisane (samo wywołanie skryptu będzie stosunkowo proste).

Nawiązując jednak do wiadomości @ethanak - zastanów się tylko jakiej precyzji faktycznie oczekujesz i jakie informacje chcesz dokładnie zapisywać, bo od tego wiele będzie zależało 🙂

Link do komentarza
Share on other sites

tu jest jeszcze jeden haczyk.

Transmisja z ESP na serwer może się nie udać, czy też naciśnięcie klawisza trafi akurat w moment, kiedy ESP zajęty jest swoimi ważnymi wifisiastymi sprawami i albo zgubi wciśnięcie, albo pokiełbasi czas.

Bazując na elementach z zestawu - dodałbym tam jeden moduł ESP8266 (nawet 01). Niech Arduino zajmuje się klawiszami i pomiarami czasów (w przerwaniu oczywiście), a ESP pyta o dane Arduino i bez pośpiechu wysyła je na serwer. Nie traci się precyzji pomiaru, nie ma problemu ze zdychającą siecią, a przy okazji program na Arduino będzie dużo prostszy.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Wiesz, esp8266 też ma przerwania i wbrew pozorom, wykonują się nawet jak akurat coś wysyła albo odbiera przez WiFi, więc to Arduino tam trochę niepotrzebne, szczególnie jak dokładność ma być do 1 sekundy. Przy takich założeniach, to w zasadzie nawet przejdzie na ESP tylko wywoływanie URL-a (i sprawdzenie odpowiedzi czy doszło, z ewentualnymi powtórzeniami), a czas można tak naprawdę brać z serwera, bo aż takich opóźnień mieć nie będziesz.

Link do komentarza
Share on other sites

wiesz, esp8266 ma przerwania, i czasem są blokowane (szczególnie przy operacjach na wifi). A zablokować się mogą na więcej niż sekundę (efekt: połamane nogi w robocie).

Branie czasu z serwera www to najgorszy z możliwych pomysłów - skąd wiesz jak zegar na serwerze jest ustawiony? Od tego są serwery czasu, a implementacja protokołu ntp jest nawet w którymś przykładzie.

  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)

oki czyli podsumowując z tym co mam najlepiej narazie wystartować z 
esp 8266 -01 https://kamami.pl/moduly-wifi/235041-esp-01-modul-wifi-z-esp8266-i-antena.html

oraz 
do tego jakis konwerter poziomów logicznych:  z 5v na 3v https://botland.com.pl/pl/konwertery-napiec/14271-konwerter-poziomow-logicznych-33v5v-uart-iduino-st1167.html?search_query=konwerter+poziomow&results=38


dziękuje za pomoc.. 
jak tylko płytka mi przyjdzie to zacznę kombinować z połączeniem wiec pewnie się jeszcze odezwę.. 

 

Edytowano przez japolak
brak esp 8266-01 na bootlandzie (zmiana linku)
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.