Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 16 kwi 2024, o 09:40


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
PostNapisane: 30 lis 2016, o 22:59 
Offline
Nowy

Dołączył(a): 29 lip 2013
Posty: 6
Pomógł: 0

Witam,
Wraz z kolegą myślimy nad zrealizowaniem takiego projektu:
Mikrokontroler zbiera pomiar temperatury z kilku miejsc co jakiś czas i przesyła te dane przez WiFi do bazy danych.
Chciałbym, żeby po jednorazowym zebraniu temperatur zostały one wysłana do bazy danych MySQL aby później można było używając języka PHP ,,dobrać się,, do tych danych. Dlaczego tak? Ponieważ ja hobbistycznie zajmuje się programowanie mikrokontrolerów a kolega zaczął jakiś czas temu przygodą z tworzeniem stron internetowych a obecnie chciałby zacząć pracować z bazami danych.
Co jest już zrobione:
- Pomiar temperatury w x (w zależności ile mamy podłączonych czujników) miejscach wraz z ukazywaniem tych temperatur na wyświetlaczu.

I teraz moje pytanie: Czy to zadanie jest wykonalne? Od czego należałoby teraz zacząć pracę aby w miarę sensownie kroczyć do celu jakim jest zrealizowanie takiego projektu. Pytanie dotyczy obu zagadnień: nie tylko programowania avr ale i obsługi baz danych więc jeżeli ktoś ma doświadczenie z bazami danych jego wskazówki są również dla nas bardzo cenne :)
Z góry dzięki za zainteresowanie tematem i odpowiedzi:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 30 lis 2016, o 23:08 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27224
Lokalizacja: Szczecin
Pomógł: 1041

Obsługa bazy danych MySQL z poziomu procka to istny absurd ;) ... ale jeśli już mówisz sam ... że znacie PHP to po jaką choineczkę chcecie tego używać tylko do odczytu z bazy ;) a co za pomocą PHP nie można zapisywać do bazy ? ;) .... toż tak się to właśnie robi ;) A skoro PHP to co to ma za znaczenie czy wy chcecie zapisywać do bazy takiej czy siakiej czy do pliku czy cokolwiek - skrypt PHP na hostingu zrobi co chcesz - a ty wystarczy że z procka wyślesz zapytanie wywołując skrypt i przekażesz do niego parametry w postaci np temperatur ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 gru 2016, o 07:42 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

Dokładnie tutaj masz opis jak to zrobić po stronie php aby zapisac w bazie mysql wraz z linkami do Mirka poradników jak wysyłać dane z AVR do PHP

http://avrtech.pl/2016/09/11/stacja-meteo-czesc-3/

W części 4 jest odczyt z bazy.

Wyglądać to może tak: http://meteo.avrtech.pl

Tak więc klocki już masz. Wystarczy je poskładać.

Pozdrawiam

Wysłane z mojego Kruger&Matz DRIVE 4 przy użyciu Tapatalka

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2016, o 15:05 
Offline
Nowy

Dołączył(a): 29 lip 2013
Posty: 6
Pomógł: 0

Dzięki za zainteresowanie tematem:) Aktualnie widzę, że nie mam za dużych wiadomości teoretycznych żeby zabrać się za programowanie :) Poprzeglądam poradniki/ książki i jak przybędzie mi widzę odezwę się z kolejnymi pytaniami bo wiem, że na pewno takowe się pojawią:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2016, o 16:28 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 kwi 2014
Posty: 438
Lokalizacja: Zambrów
Pomógł: 22

Slaweczek napisał(a):
Bezposrednio do mysql da sie zapisac ale to kiepskie rozwiazanie

Jak można spytać :) To w jaki sposób bezpośrednio z AVR zapisać coś do MYSQL?

_________________
.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2016, o 21:00 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 sie 2013
Posty: 3797
Lokalizacja: Grudziądz
Pomógł: 143

misiulu napisał(a):
Slaweczek napisał(a):
Bezposrednio do mysql da sie zapisac ale to kiepskie rozwiazanie

Jak można spytać :) To w jaki sposób bezpośrednio z AVR zapisać coś do MYSQL?


Z bazą danych można połączyć się na 2 sposoby
shell
www

więc skoro można przez www to wystarczy napisać bibliotekę która krok po kroku nawiąże połączenie z bazą danych i zapisze, zedytuje lub też usunie wpisy w bazie tylko pytam po co obciążać procka skoro można to zrobić po stronie PHP szybciej, wygodniej no i pamięć w uC zostaje na inne rzeczy.

_________________
Usługi druku przestrzennego - www.drumik.pl



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 gru 2016, o 22:47 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 kwi 2014
Posty: 438
Lokalizacja: Zambrów
Pomógł: 22

Hmmm no zaskoczyłeś mnie! No i ładnie pokazałeś, że się da :) Dzięki :)

Z samej ciekawości, teoretycznie tylko pytam, czy są jakieś biblioteki poza arduino do takich rzeczy? Bo nie przewinęło się to nigdzie wcześniej na forum ( chyba ). Może w niszowych rozwiązaniach, np. w sieciach lokalnych np. z NASem i by znalazło takie podejście zastosowanie...

_________________
.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2016, o 13:11 
Offline
Użytkownik

Dołączył(a): 03 gru 2016
Posty: 28
Pomógł: 3

Slaweczek napisał(a):

Bezpośrednio do bazy na porcie 3306, jednak takie połączenie jest wolne, po drugie login i hasło leci w postaci jawnej, można użyć biblioteki sha1, ale z dwóch wymienionych powodów lepiej to zrobić poprzez wywołanie skryptu php z metoda POST.


Z punktu widzenia bezpieczeństwa, metoda POST bez jakiejkolwiek autoryzacji (czy odpowiedniej konfiguracji mysql) gdy strona dostępna jest publicznie równie jest niebezpieczna (a może nawet bardziej) niż bezpośrednie wrzucenie do mysql. Jednak wysniffowanie jest trochę trudniejsze niż "wklepanie url" w przeglądarkę. Jeśli nie ma prostej autoryzacji choćby po IP clienta mogącego zrobić POST to każdy "znający co ma lecieć w nagłówkach - Query String" będzie mógł wrzucić do tej bazy cokolwiek (co przy złym parsowaniu danych i źle ustawionych prawach grozi np. SQL Injection) . Z trzeciej strony, użytkownika mysql możemy ograniczyć w samym mysql do połączeń z konkretnego adresu IP jak i np. ustawieniem praw do np inserta tylko i wyłącznie dla jednej tabeli czy nawet kolumny. To powoduje ze wysniffowanie hasła w bezpośrednim połączeniu mysql na niewiele się zda (o ile nie używamy wszędzie takiego samego ;P). Warto pamiętać o tym.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 gru 2016, o 13:42 
Offline
Użytkownik

Dołączył(a): 03 gru 2016
Posty: 28
Pomógł: 3

Tak ale pod warunkiem uzycia https :) A to juz wymusza uzycie funkcji szyfrujacej. A mysql wspiera rowniez secure connection :) Zastanawiam się na ile by przyspieszylo gdyby utrzymywać stałe podłaczenie do bazy i wywoływania tylko zapytania SQL ;) Ale to już takie tam poboczne tematy. Głównie chciałem zwrócić uwagę na podejście do bezpieczenstwa - bo jesli to bedzie tylko http to nagłowki równiez nie sa szyfrowane i takie dane rownie latwo pozyskac co haslo z nieszyfrowanego polaczenia z baza.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO