Wątek przeniesiony 2020-06-02 15:12 z Edukacja przez cerrato.

Nauka arduino pod strony internetowe.

0

Witam. Obecnie uczę się programowania w C, oraz używam go do programowania różnych dodatków do arduino, na przykład czujników.
Jednak stwierdziłem, że warto byłoby zrobić jakieś strony internetowe, na których będzie można na przykład wyświetlana ilość mignięć diodą. O ile w C będę potrafił coś takiego zrobić, i w php i html zrobić stronę, to nie wiem jak łączyć to z kodem C i arduino. Jeżeli ktoś ma jakieś źródło do nauki czegoś w tym stylu, to będę wdzięczny.

3

Rzuć okiem na ESP8266.

1

Baza danych?

2

Zapisujesz w pliku w C ilość mrugnięć, a potem odczytujesz w PHP.

2

gołe arduino (dokładnie μC ATmega328) może komunikować się jedynie poprzez wbudowane porty szeregowe USART(Tx,Rx), I2C(SDA,SCL) i SPI (miso,mosi,sck,ss). Dwa z nich SPI i I2C są tylko dostępne w Raspberry Pi na porcie GPIO. Port szeregowy RS232 nie istnieje we współczesnych PC-tach, więc arduino ma dodatkowy μC który robi szeregową transmisje do PCta poprzez USB, dzięki temu można poprzez ten wirtualny port szeregowy programować μC i w ogóle łatwo się z nim komunikować.

Na serwerze/PC możesz zainstalować pyserial (pip install -U pyserial) i napisać skrypt który otworzy port szeregowy i będzie czytał to co wysyła arduino:

Serial.print("Czujnik1: ");
Serial.println(sensor.value);

poprzez moduł requests skrypt ten może komunikować się z serwerem w chmurze poprzez jakieś RESTowe API i ładować do niego dane odczytane z czujników.

PC musi chodzić cały czas jeżeli dane pobierane z czujników muszą być dostępne 24h/dobę. Może to być oddzielny serwer albo RPi, w którym możesz wykorzystać SPI dla dużo szybszej transmisji PC-μC w porównaniu do USART, oczywiście jeżeli zachodzi taka potrzeba. RPI ma nawet swoje pythonowe moduły do komunikacji szeregowej i nie musi to być pyserial.

1

parę lat temu bawiłem się arduino i espruino. Projekt był dość prosty: wysyłanie notyfikacji z telefonu na arduino i kompa z wykorzystaniem domowego wi-fi. Proponuję spróbować ze względu na to, że espruino umożliwia kodowanie w JavaScript i można korzystać np. z Websocketów, czy innych JS-owych bibliotek.

1 użytkowników online, w tym zalogowanych: 0, gości: 1