Skocz do zawartości
Mrpatryk

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

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.

Udostępnij ten post


Link to post
Share on other sites

Co do arduino mam wszystkie czesci do tego potrzebne. Jedyne co nje wiem jak napisac kod heh. Potrzebowal bym jakies przyklad cos co by mnie naprpwadzilo na trop ze tak to nazwe. 

Udostępnij ten post


Link to post
Share on other sites

Ostatnio narzekałeś, że nie wiesz jak napisać kod komunikujący się z bazą - o ile rozumiem tylko to jest problemem? A całą resztę wiesz jak napisać?

Udostępnij ten post


Link to post
Share on other sites

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

Udostępnij ten post


Link to post
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ć 😉

Udostępnij ten post


Link to post
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 ... 

Udostępnij ten post


Link to post
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

Udostępnij ten post


Link to post
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. 

Udostępnij ten post


Link to post
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?

Udostępnij ten post


Link to post
Share on other sites
Gość es2
(edytowany)
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

Udostępnij ten post


Link to post
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 .

Udostępnij ten post


Link to post
Share on other sites
Gość es2
13 minut temu, Mrpatryk napisał:

A niestety nic nie wyświetla .

Próbowałeś z Arduino czy z przeglądarki?

 

Udostępnij ten post


Link to post
Share on other sites

Arduino mam podłączone, przesyłam dane na mouł "esp" nim wysyłam do php poprzez get Id oraz IDkarty . ale niestety PHP nic nie wyświetla. coś w tym skrypcie co napisalem jest zle ? 

Udostępnij ten post


Link to post
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!

Gość
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...