Wpis z mikrobloga

elko mam kilka pytań, chodzi mi głównie o wymianę doświadczeń i wybór optymalnego rozwiązania.

a więc tak:
esp32 z dht11 - serwer bt
linux to client danych bt

na linuxie chyba powinna być jakaś apka w pythonie zapisująca pomiary w buforze albo bazie danych?
jak zrealizować transfer danych pomiędzy urządzeniami?

#esp32 #python #arduino
  • 13
  • Odpowiedz
via Wykop Mobilny (Android)
  • 2
@tmekuu: nie mam wielkiego doświadczenia z bluetoothem.
Na ESP32 jeszcze nic nie pisałem.
Jakbym miał się brać za taki temat, to tak:
Zainteresowałbym się profilem bluetooth SPP - serial port profile. Jeśli piszesz na Arduino to widzę że jest obsługiwane: link

Od strony Linuksa po sparowaniu z urządzeniem udostępniającym profil SPP powinno się pojawić urządzenie /dev/ttyrfcomm0 lub coś w ten deseń i wtedy gada się z tym jak po normalnum UARTcie.
  • Odpowiedz
@WuBe: a czemu nie? jeżeli naprawdę jest łatwiej to dogram hardware ale chwilowo mam pod ręką bt - patrząc z boku podobnie to wygląda chyba że rzeczywiście objętość kodu i technologia jest bardziej przystępna dla wifi
  • Odpowiedz
@tmekuu: po wifi to robisz tak:
Na serwerze uruchamiasz apache z php, czujnik po http wywołuje stronę hostowaną przez serwer i przez GET lub POST przekazuje wartości. Po stronie serwera skrypt php, na wywoływanej stronie, zapisuje wartości gdzie już sobie wymyślisz np. do bazy danych.
Natomiast po bt to nie wiem, ale obawiam się, że obsługa samego połączenia może być bardziej skomplikowana niż przez wifi gdyż odchodzi jeden element z układanki
  • Odpowiedz
@WuBe: hmm mam zarys IoT współpracy kilku urządzeń - fajnie pasuje tu bt właśnie i chyba będę się tego trzymał. dzięki za zarys wifi - w razie dużych kłopotów pójdę w tą stronę.

@QBA__: terminal portu szeregowego na adroidzie wyświetla poprawne dane - na linuxie są jakieś problemy - blueman widzi esp, nazywa je np rfcomm0 ale ani przez putty serial ani przez arduino nie umie się połączyć

są jakieś
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@tmekuu: jak widzi port, to powinno działać.
Spróbuj może jeszcze screenem:

screen /dev/rfcomm0 baudrate


Jeśli wyrzuca Permission denied, to prawdopodobnie jako użytkownik nie masz praw do korzystania z portów szeregowych i musisz się dodać do grupy dialout

sudo usermod -a -G dialout $USER
  • Odpowiedz