Skocz do zawartości

Jak odebrac dane z mysql i aktualizować je na karcie SD?


Mrpatryk

Pomocna odpowiedź

Ok, może stąd ta dyskusja o ESP 🙂 W każdym razie masz teraz 2 opcje: używanie samego esp8266, albo esp8266 + Arduino, pewnie mega.

Pierwsza opcja jest na pewno tańsza, ale chyba trudniejsza. Jeśli wybierzesz drugą, to proponuję na razie zapomnieć o internecie - i zająć się wersją offline. Na karcie SD możesz utworzyć plik w dowolnym formacie, np. tekstowym. Później wystarczy dodać sporadyczną synchronizację danych z siecią i po kłopocie. A mając Arduino, kartę SD, czynik RFID, wyświetlacz oraz zamek możesz przystąpić do pracy.

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

To jak napisałem wcześniej - napisz całą resztę i wtedy wróć do komunikacji z serwerem bazy.

A tak w największym uproszczeniu jak chodzi o komunikację przez sieć - możesz napisać własną "aplikację internetową" np. w PHP. Masz wiele opcji, mi do głowy przychodzą co najmniej dwie. Pierwsza, użyteczna do transakcji "online", to odpowiedź na zapytanie typu GET - skrypt sprawdza, czy podany identyfikator jest w bazie i jeśli tak, odsyła dane, inaczej komunikat o błędzie. Drugie rozwiązanie jest jeszcze łatwiejsze - skrypt pobiera dane z bazy i tworzy plik w formacie takim jak użyjesz na karcie SD. Wtedy Arduino pobiera ten plik i sprawdza, czy różni się od wersji z karty. Jeśli tak to zapisuje nową wersję. Nie jest to idealne rozwiązanie, ale jak się domyślam nie projektujesz urządzenia o jakości "produkcyjnej", więc tak prosta metoda powinna działać.

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

Wszystkie posty niezwiązane z tematem zostały wydzielone do osobnego tematu:

Wszystkich, którzy tak chętnie pisali na temat czasu startu RTOS zachęcam do kontynuacji dyskusji w tamtym wątku 😉

16 godzin temu, Mrpatryk napisał:

Potrzebowal bym jakies przyklad cos co by mnie naprpwadzilo na trop ze tak to nazwe. 

Proszę o to przykład wykonania zapytania w MySQL z poziomu PHP i wyświetlenie uzyskanych danych: https://www.w3schools.com/php/php_mysql_select.asp Postaraj się coś napisać na podstawie tych programów i pokaż co udało Ci się zrobić 😉

Link do komentarza
Share on other sites

Dnia 22.10.2018 o 13:26, Treker napisał:

Wszystkie posty niezwiązane z tematem zostały wydzielone do osobnego tematu:

Wszystkich, którzy tak chętnie pisali na temat czasu startu RTOS zachęcam do kontynuacji dyskusji w tamtym wątku 😉

Proszę o to przykład wykonania zapytania w MySQL z poziomu PHP i wyświetlenie uzyskanych danych: https://www.w3schools.com/php/php_mysql_select.asp Postaraj się coś napisać na podstawie tych programów i pokaż co udało Ci się zrobić 😉

Zapytanie potrafię napisać ale nie wiem jak napisac kod na ESP by odbierał z tego zapytania jakies dane np ID karty imie i nazwisko ... 

Link do komentarza
Share on other sites

https://techtutorialsx.com/2016/07/17/esp8266-http-get-requests/

Chociaż google podpowie dużo innych gotowców, nic tylko czytać.

Zapomniałem, że tam miało być Arduino - w takim razie to samo, ale na komendach AT. Pierwszy lepszy link od googla:

https://arduino.stackexchange.com/questions/32567/get-data-from-website-with-esp8266-using-at-commands

Link do komentarza
Share on other sites

17 minut temu, Elvis napisał:

https://techtutorialsx.com/2016/07/17/esp8266-http-get-requests/

Chociaż google podpowie dużo innych gotowców, nic tylko czytać.

Zapomniałem, że tam miało być Aruino - w takim razie to samo, ale na komendach AT. Pierwszy lepszy link od googla:

https://arduino.stackexchange.com/questions/32567/get-data-from-website-with-esp8266-using-at-commands

nie chcę wyświetlic zawartości całej strony. W bazie mam zapisane w tabeli ID karty , imie nazwisko posiadacza, chce zeby arduino po odczytaniu ID karty wysłało je do PHP , PHP szuka czy dane ID karty jest w bazie jeśli jest , wysyła Imie nazwisko i wartość 1, jesli nie ma wysyła wartośc 0. o coś takiego by mi chodziło. 

Link do komentarza
Share on other sites

Nie mam już siły - może poczytaj o podstawach PHP, www, http. Podpowiem tylko, że to co zwróci PHP wcale nie musi być "całą stroną". To mogą być praktycznie dowolne dane, które przyjmie http - format tekstowy jest dobrzym przykładem. Więc wysyłając zapytanie GET twój skrypt odpowiada jedną linijką tekstu, którą w programie wystarczy odczytać.

Ale wydaje mi się, że porywasz się na o wiele za trudne zadanie. Może lepiej zacząć od czegoś łatwiejszego?

Link do komentarza
Share on other sites

31 minut temu, Mrpatryk napisał:

chce zeby arduino po odczytaniu ID karty wysłało je do PHP , PHP szuka czy dane ID karty jest w bazie jeśli jest , wysyła Imie nazwisko i wartość 1

Chodzi o skrypt PHP? Jeśli tak, to to gotowca nie znajdziesz musisz sobie napisać. Robiłem takie coś (bez bazy, to były próby API Slicana), wynik zwracałem z XML (tego wymagał Slican). Mogę poszukać tych kodów, powinny nawet cały czas działać na jakiejś z moich stron.

Sprawdziłem, nawet działają, wpisz w przeglądarkę: http://kolejki.prv.pl/ApiCorps/ApiStart.php?API=InfolineAPI&Comment=InfoNo2&Digits=0002&Timeout=1&Called=521122211&Calling=505059616&UserTag=29876

Zwrotnie dostaniesz: <InfolineAPI><Display>API Slawek......

Niestety serwer dokleja tam też swoją stopkę, ale nie przeszkadza to w interpretowaniu danych. Oczywiście przeglądarka nie rozpozna XML (ale wyświetli go) bo to XML znany tylko dla API Slicana. Jak zapytanie zmienisz na: http://kolejki.prv.pl/ApiCorps/ApiStart.php?API=InfolineAPI&amp;Comment=InfoNo2&amp;Digits=0002&amp;Timeout=1&amp;Called=455&amp;Calling=455&amp;UserTag=29876

to dostaniesz: <InfolineAPI><Display>Ygresinski.......

Dla Callling=479 zwróci "Zesinski"

Co coś w tym stylu Ci chodzi?

 

Edytowano przez es2
Link do komentarza
Share on other sites

<?php
$servername = "88888888";
$username = "888888";
$password = "88888";
$dbname = "8888";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);} 
$id = ($_GET['id']); 
$idkarty = ($_GET['karta']);
echo "$idkarty";
  if ($id == '1'){
$loguj=("SELECT `BAZA` from `TABELA` where IDKARTY='$idkarty'"); 
$rekordy = mysql_query($loguj);
if(mysql_num_rows($rekordy)==0)
{echo '1';}
else
{
echo '0';}
$conn->close();}

?>

taki skrypt ma prawo bytu ? , przesyłam z arduino ID karty oraz id=1 dzieki czemu ma if zadziałac , jednak nie wiem czy jest poprawnie napisany if bo ni sie nie wyświetla z echo. ani 1 ani 0. skrypt ma za zadanie przeszukac baze w celu znalezienia rekordu z ID karty. jesli znajdzie ma wyswietlic "1" jesli nie "0". A niestety nic nie wyświetla .

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.