Arduino i Supla

jacekl
Posty: 12
Rejestracja: śr kwie 28, 2021 2:05 pm

Wybaczcie poziom mułu moich pytań, ale nie jestem automatykiem ani nie znam się na elektronice.
Wiem mniej więcej czym jest Arduino, że służy do programowania kontrolera na dedykowanej płytce, dedykowanym językiem, płytka ma porty wejścia/wyjścia i można sterować różnymi rzeczami podpiętymi do tych portów.
Moje pytanie jest o to w jaki sposób Arduino współpracuje z Suplą i co to daje. Jak Supla komunikuje się z Arduino? Czy Supla traktuje płytkę Arduino tak jak urządzenia np. Zamela czy Sonoffa czy to na innej zasadzie jest oparte?
Awatar użytkownika
pzygmunt
Posty: 18282
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Supla dla Arduino działa na tej samej zasadzie co w urządzeniach Zamel-a.
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Protokół komunikacyjny jest jeden.

Natomiast Supla na urządzenia wykonawcze ma w zasadzie 3 rodzaje oprogramowania:
1. Framework "supla-espressif" na bazie NONOS SDK od Espressif (https://github.com/SUPLA/supla-espressif-esp) - w tym repo jest kilka przykładów na gotowe urządzenia, typu Sonoff. Układy komercyjne (np. Zamel) korzystają też z tego frameworka jako baza, na której jest zbudowana obsługa danego urządzenia.
2. Biblioteka SuplaDevice dla Arduino IDE, na którym możesz programować układy Arduino Mega, ESP82xx, ESP32 (te są wspierane przez bibliotekę). Na bazie SuplaDevice powstał też GUI Generic (pozwalający w konfiguracji wyklikać sobie ustawienia danej płytki i podłączonych urządzeń) oraz "Multisonoff & others" (zawierający różne gotowce na układy typu Sonoff, Shelly, itp). Bez problemu można też pisać tam własne aplikacje.
U podstaw, Arduino IDE dla płytek ESP8266 używa również NONOS SDK od Espresiff.
3. supla-dev - czyli Supla jako urządzenie wykonawcze dla Rhaspbery - aktualnie najbardziej zapuszczony i mało rozwijany projekt, choć ma kilka ciekawych forków (np. supla-virtual-device)

Co do języka, to w Arduino IDE używa się zwykłego C++. W przypadku kompilatora dla Arudino Mega (i innych na bazie układu Atmega), jest on mocno okrojony (np. nie ma większości biblioteki standardowej, więc brakuje std::array itd.) Okrojenie wynika dostępnych zasobów na tych płytkach. Arduino Uno ma 2 kB pamięci RAM, a Mega ma aż 8 kB RAM-u. Na Mega da się odpalić SuplaDevice, ale o szyfrowaniu połączenia możesz zapomnieć ;)
Widzimy się na Supla Offline Party vol. 2 :!:
ODPOWIEDZ

Wróć do „Ogólna dyskusja”