Arduino - inne podejście

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
rys13
Posty: 2
Rejestracja: ndz kwie 24, 2016 3:47 pm

Witam.
Kawał dobrej roboty.
Szczególnie przypadło mi do gustu zaprzęgnięcie do tego Arduino.
Mam już część automatyki wykonanej na Arduino i nRF24, i pięknie można
to połączyć dla łatwego sterowania przy pomocy smartfona.

Ale ...

1. Przygotowany sketch do Arduino ma odwrotną logikę w stosunku do modułów przekaźnikowych -
przy starcie przekaźniki są załączane jako satan OFF. wyłączane jako stan ON.
( co prawda poprawiłem bibliotekę i działa ok - ale zdaje się większość użytkowników
może co do tego mieć uwagi i dobrze by było zamieścić taką wersję - mogę udostępnić
zmiany gdyby ktoś potrzebował, ewentualnie do autoryzacji przez autorów biblioteki )

2. Sketch do Arduino nie udostępnia przekazywania wartości Temperatury.
( jak można by było prosić autorów o wprowadzenie takiej możliwości byłbym wdzięczy,
pozwoliłbym sobie także na określenie sposobu wprowadzenia tej możliwości o czym dalej )

3. Być może wynika to z innych ograniczeń, ale dobrze by było aby Sketch Arduino umożliwiał
włączenie więcej niż 11 urządzeń. Jeżeli już mamy Arduino Mega, fajnie by było
uruchomić większą ilość urządzeń bo pinów jest dostatek, nawet gdy wnika to z ograniczeń
protokołu, arduino może pracować jako 2, 3, 4 lokalizacje, to by było piękne i przydatne.

4. Wydaje się iż trud poniesiony na przygotowanie biblioteki do Arduino (ukłony dla autorów),
byłby znacznie owocniejszy gdyby zmienić nieco podejście do tematu wymienianych informacji.
np.
- wymieniane między serwerem a urządzeniem dane zorganizowane byłyby w tablicy lub zmiennych
a ustawianie i odczyt fizycznych pinów nie odbywało by się poprzez bibliotekę, a w pętli loop()
programu głównego.
Taka organizacja dałaby możliwość dopisania własnego kodu obsługi urządzeń czy też zależności
logicznych pomiędzy stanem poszczególnych wyłączników.
Zalety takiego podejścia;

- czujnik temperatury - jeżeli jest tablica z wartością do przekazania można dopisać
kawałek kodu odcztu temperatury z czujnika cyfrowego, bądź analogowego
pisząc wartość do zmiennej. Tą metodą można też przekazać ustawienie
zadanej temperatury w pomieszczeniu, a nie tylko odczyt z czujnika.
Równie dobrze można przekazać wilgotność powietrza, prędkość wiatru,
wilgotność gleby i tym podobne wartości do prezentacji w smartfonie.

- wyłączniki - poprzez kilka linijek kodu stanowiącego powiązania logiczne
poszczególnych wyłaczników można za pomocą jednego wyłącznika
załączyć określoną scenę (zapalają się na raz kinkiety, lampki nocne etc.
Można także poprzez element "sterowania żaluzjami" ustawić, zmieniać zadaną
temperaturę w domu etc.

Myślę że powyższe spostrzeżenia przyczyniłyby się do szerszego wykorzystania możliwości
wizualizacji danych na smartfonie, jako że umożliwiłyby powiązanie już istniejących systemów
opartych na Arduino z Waszym projektem.

Pozdrawiam
Rysiek S.
Awatar użytkownika
pzygmunt
Posty: 18284
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Witam.

Dzięki za sugestie.
Ogólnie z Arduino nie miałem wcześniej styczności i ta biblioteka została napisana trochę z marszu na czuja ;)


1. Można zmienić logikę ustawiając jako drug parametr "true"
bool SuplaDeviceClass::addRelay(int relayPin, bool hiIsLo);

2. Będzie to dodane w formie callbacka gdzie użytkownik będzie mógł obsłużyć dowolny termometr

3. Tu chodzi o zostawienie trochę pamięci użytkownikowi. Możesz to samodzielnie zmienić
https://github.com/SUPLA/arduino/blob/m ... ce/proto.h
linia 123

4. Logika wymaga wywoływania funkcji iterate co pewien czas tak więc i tak potrzebne jest wywoływanie jej w pętli.
Callbacki powinny rozwiązać problem z obsługą własnych urządzeń

Własny kod możesz zgłosić zawsze do repozytorium w githubie jak coś się przyda to z pewnością zostanie dodanie do głównego kodu.
vcompl
Posty: 158
Rejestracja: pn kwie 11, 2016 1:32 pm

Odświeżam moje wczesniejsze zapytanie o Arduino UNO - DODAJĄC do pytania Rys13

Zacząłem wyłączać logi i inne tymczasowo zbędne komponenty biblioteki, uwolniłem trochę pamięci. Teraz biblioteka zawiesza się gdzieś w środku. Zestawiam własnie środowisko do debugowania.

ALE pytanie podstawowe czy uda się zmniejszyć bibliotekę aby zadziałała na UNO???

Sądzę, że warto bo koszt UNO w porównaniu do mopdułow ESP-12 z Uart jest atrakcyjny a posiada porty cyfrowe i analogowe.
rys13
Posty: 2
Rejestracja: ndz kwie 24, 2016 3:47 pm

Witam pzygmunt
Dzięki za odpowiedź.
Można zmienić logikę ustawiając jako drug parametr "true"
bool SuplaDeviceClass::addRelay(int relayPin, bool hiIsLo);
No czasami człowiek jest ślepy, patrzy, czyta, a i tak nie dociera nic z ekranu,
tylko jakieś podświadome przeświadczenie "pierwszego spojrzenia" bierze górę,
i trwa tak człowiek w odmiennym stanie świadomości ... ech ... Dzięki za wyprowadzenie z odmiennego stanu.
3. Tu chodzi o zostawienie trochę pamięci użytkownikowi. Możesz to samodzielnie zmienić
https://github.com/SUPLA/arduino/blob/m ... ce/proto.h
linia 123
Próbowałem, ale serwer odpowiadał "Connection fail. Server: svr1.supla.org",
ale zachęcony Twoją podpowiedzią zmieniłem dodatkowo linię 49 i zadziałało,
Dzięki za pomoc, o to chodziło... :)
2. Będzie to dodane w formie callbacka gdzie użytkownik będzie mógł obsłużyć dowolny termometr

4. Logika wymaga wywoływania funkcji iterate co pewien czas tak więc i tak potrzebne jest wywoływanie jej w pętli.
Callbacki powinny rozwiązać problem z obsługą własnych urządzeń
Z niecierpliwością czekam na pojawienie się tej opcji. Oby tylko była
jakakolwiek możliwość wpływania na przekazywaną wartość czy też stan,
aby dać szersze możliwości użytkownikowi Arduino.

Jeszcze taka jedna funkcjonalność chodzi mi po głowie - przydatna jeżeli
pkt 4 będzie możliwy do wykonania, mianowicie możliwość jednostronnego przekazania
do serwera krótkiej wiadomości tekstowej i dalej na smartfon.
coś w rodzaju belki lokalizacji którą można byłoby dodać.

I jeszcze druga sprawa jak się już tak rozpisałem;
Trochę nieporęczne w moim przypadku jest automatyczne sortowanie
wyłączników według rodzaju, może jakaś opcja która wyłączałaby
to sortowanie, a kolejność byłaby określana kolejnością wpisów w Arduino
bądź w panelu cloud.supla albo w inny sposób.

Jeszcze raz duże dzięki, życzę powodzenia i oczekuję na tę namiastkę wolności na platformie Arduino
przy Waszym projekcie.
Jak uporam się z powiązaniem Waszego projektu z wykorzystywanym przeze mnie sterowaniem
opartym o nRF24 opisanym tutaj; http://tmrh20.github.io/RF24Network/Tuning.html
- o ile będą chciały jakoś współpracować,
chętnie się podzielę, może się komuś przyda.
Pozdrawiam
Rysiek S.


do vcompl
Fajnie by było aby zadziałało to na UNO, co prawda nic więcej chyba by się tam
nie zmieściło, ale czasami byłoby przydatne. Powodzenia w realizacji.

Pozdrawiam
Rysiek S.
ODPOWIEDZ

Wróć do „Pomysły i koncepcje”