Własne moduły

Post Reply
Jacek
Posts: 560
Joined: 17 Feb 2007, 18:00

Re: Własne moduły

Post by Jacek »

PelzaK wrote:...Jacku, czy wiadomości 0x10 są jakoś specjalnie inne od 0x11 czy to zaszłość historyczna? W kodzie bootloadera widzę, że jest fragment sprawdzający typ wiadomości po odebraniu więc uznałem, że coś je różni. Jednak w dokumentacji 0x10F to pytanie o DEV ID do grupy a 0x111 to pytanie o DEV ID do noda, więc jakiegoś podziału tutaj specjalnie nie widzę.
Są to kolejne (bez podziału) numery wiadomości systemowych od 0x100 (wejście w tryb programowania) do 0x115 (pytanie o stan zdrowia modułu). Jak słusznie zauważyłeś brakuje tam numeru 0x110, ale jest to tylko przez czeski błąd.
Regards
Jacek
Bartek
Posts: 326
Joined: 14 Jul 2011, 19:36
Location: Wrocław
Contact:

Re: Własne moduły

Post by Bartek »

No to walczę dalej. Właśnie pokonałem przesunięcia bitowe, bo ID ramki zwracany z biblioteki modułu mcp ma te 3 bitowe przesunięcie i jak zacząłem kombinować to coraz dziwniejsze wartości wychodziły, hehe. Ale już jest OK. Człowiek na co dzień rzadko schodzi do poziomu pojedynczych bitów ;).
zetbees
Posts: 50
Joined: 29 Sep 2015, 18:26
Contact:

Re: Własne moduły

Post by zetbees »

Ponieważ temat jak widzę nabrał przyspieszenia dodam coś od siebie.

Ponad rok temu wybrałem Hapcana jak główny system obsługi mojego budowanego domu. Podstawowym problemem aby wygodniej skorzystać z Hapcana okazał się właśnie brak integracji z jakimkolwiek gotowym systemem. Kilka osób tworzy mniej lub bardziej zaawansowane i rozproszone projekty. Może tym razem powstanie spójna całość do wykorzystania przez mniej informatycznie zaawansowanych "członków społeczności".

Jako, że parę dni temu jescze nic nie zapowiadało takiego przyspieszenia prac a mój system musi już pracować postanowiłem sam się trochę "zaawansować" i od piątku zacząłem się bawić pythonem, a że wiele lat nic nie porgramowałem to i postępy mizerne.
Trzymam kciuki za pracę nad integracją z Domoticzem bo faktycznie ma szansę się udać.

Ja z trochę innej strony, pnieważ potrzebuję systemu na już i żeby działał nawet bez nakładek - to docelowo ma działać z tekstowych skryptów - jakby ktoś był zainteresowany pomocą/współpracą to super.

Wresja pre-pre-alfa na Githubie - na razie zapisuje logi temperatur z czujników do pliku
Bartek
Posts: 326
Joined: 14 Jul 2011, 19:36
Location: Wrocław
Contact:

Re: Własne moduły

Post by Bartek »

Tu trzeba wyróżnić dwa zagadnienia. Integrację z tzw. agregatorami typu domoticz, homegenie czy openhab i to można zrobić obecnie przy użyciu modułu Ethernet. Każdy z tych systemów daje możliwość rozmawiania z interfejsem tcp/ip więc to jest tylko kwestia wysyłania i odbierania ramek do modułu Ethernet.

Moim natomiast celem obecnie jest rozbudowa własnych modułów, które gadają bezpośrednio z Hapcanem poza takimi agregatorami. Jako, że bliżej mi do procesorów AVR niż PIC postanowiłem stworzyć bazową bibliotekę do Arduino, dzięki której Arduino będzie widziane przez resztę modułów jako "swój Czlowiek" :). Dodatkowo, Arduino jest na tyle popularne, że mogą z tego powstać naprawdę interesujące nowe moduły Hapcana, bo wiele osób będzie w stanie stworzyć moduł nie wnikając w asemblera procesorów, architekturę i środowisko PIC.

Ja mam w najbliższych planach dedykowany sterownik do pokoju dzieci, moduł monitorujący zalanie w wielu punktach oraz sterownik akwarium.

Dzień 3, Hapcan programmer widzi moje urządzenie ;).
kompio
Posts: 98
Joined: 22 Jul 2016, 14:38

Re: Własne moduły

Post by kompio »

Dokładnie jak napisałeś, integratory przenieść do nowego wątku.

PelzaK czy jeszcze będziesz w stanie programować moduły z arduino przez programmera ?

P.S. zapisuje się jako beta tester ;]
Bartek
Posts: 326
Joined: 14 Jul 2011, 19:36
Location: Wrocław
Contact:

Re: Własne moduły

Post by Bartek »

Zależy. Wgrywanie firmware raczej nie będzie w pierwszej wersji - to trzeba będzie robić przez USB na początku. Niektóre parametry modułu będzie można (chyba) zmienić z poziomu Hapcan programatora - nie wiem jeszcze jakie ograniczenia w nim są bo nie doszedłem do tego etapu :).
Z odczytem i zapisem pamięci również muszę ogarnąć "jak to jest zrobione" bo z tego co widzę, w procesorach Hapcana są istotne adresy pod którymi można znaleźć takie czy inne dane. Prawdopodobnie w wersji Arduinowej adresacji tej nie będzie się dało zachować, więc zapewne zajdzie potrzeba translacji adresów, lub zupełnie innego podejścia do programowania.

Do ustawiania "boxów" itp. Hapcan programatora raczej użyć się nie da bezpośrednio, bo musiałby on wiedzieć z jakim sprzętem współpracuje aby wyświetlić odpowiednie formatki z kontrolkami. Prawdopodobnie powstanie dedykowany "programer" do modułów opartych na Arduino, na ile się będzie dało - uniwersalny.

A tak obecnie Hapcanuino, bo tak go roboczo nazwałem, wita się z resztą świata w Hapcan programatorze ;). Oprócz odpowiedzi na podstawowe pytania potrafi się już zdalnie resetować. Niestety nie potrafi określić napięcie zasilania, bo to wymaga już jakichś ruchów kabelkami na płytce Arduino, czego na razie chciałbym uniknąć, aby użytkownik docelowy nie musiał specjalnie dużo się wysilać aby uruchomić układ ;).
Hapcanuino.png
I pytanie do Jacka ;). Moduł Ethernetowy ma tutaj wersję firmware 3.102.0.1, gdzie ATYPE ustawione jest na 102. Gdy odsyłam natomiast odpowiedź z ATYPE dajmy na to 32 to w Hapcan programatorze widać typ aplikacji 3 zamiast 32. Czemu tak się dzieje?
Jacek
Posts: 560
Joined: 17 Feb 2007, 18:00

Re: Własne moduły

Post by Jacek »

PelzaK wrote:I pytanie do Jacka ;). Moduł Ethernetowy ma tutaj wersję firmware 3.102.0.1, gdzie ATYPE ustawione jest na 102. Gdy odsyłam natomiast odpowiedź z ATYPE dajmy na to 32 to w Hapcan programatorze widać typ aplikacji 3 zamiast 32. Czemu tak się dzieje?
Sorry, był błąd w kodzie. W wersji 3.45 programatora powinno być już ok.
Regards
Jacek
Bartek
Posts: 326
Joined: 14 Jul 2011, 19:36
Location: Wrocław
Contact:

Re: Własne moduły

Post by Bartek »

So far so good :).

Zapis i odczyt EEPROMa działa z poziomu Hapcan programatora. Zatem można nim zmieniać nazwę, noda i grupę.

Czy Config Registers, Health registers i Enable box Bits znajdujące się na początku EEPROMa są gdzieś opisane w dokumentacji?
---

OK. znalazłem ;)
Bartek
Posts: 326
Joined: 14 Jul 2011, 19:36
Location: Wrocław
Contact:

Re: Własne moduły

Post by Bartek »

No i jest pierwsza lipa :).

Boxy konfiguracyjne w modułach Hapcana są wyryte w pamięci FLASH. W Arduinowej wersji chciałem je przenieść do EEPROMa ze względu na to, że nie chciałem robić programowania FLASHA z zewnątrz sposobem takim jak to robi to Hapcan Programmer, bo cholera wie jak tam Arduino bootloader wgra podstawowy kod do FLASHa. No i przy takim rozwiązaniu przy 1KB pamięci EEPROM wystarczy na niecałe 30 boxów ;). Można boxy konfigurować również w samym kodzie Arduino, ale chciałem jednak mieć możliwość programowania działania z zewnątrz, bo nikt nie będzie biegał z kablem żeby zaprogramować boxa ;). Arduino Mega ma już 4KB EEPROMA więc 120 boxów wejdzie, ale to zbyt wielka kobyła jak na proste urządzenie realizujące kilka funkcji.

Ile boxów używacie w swoich rozwiązaniach?
kompio
Posts: 98
Joined: 22 Jul 2016, 14:38

Re: Własne moduły

Post by kompio »

Trudno na tą chwilę powiedzieć, mój system z magistralą działa na razie na "desce" na biurku, bo docelowa lokalizacja jest aktualnie w fazie "ocieplenie", więc spinanie kabli, pewnie po nowym roku :(

Arduino Mega faktycznie za duża kobyła do "puszki podtynkowej" :), może ESP8266+can (programowanie po WiFi)
ale lepsze 30 boxów niż nic, trzymam kciuki.
Bartek
Posts: 326
Joined: 14 Jul 2011, 19:36
Location: Wrocław
Contact:

Re: Własne moduły

Post by Bartek »

Taki tam mały raport z postępu. Ogarnąłem boxy, jest ich obecnie do dyspozycji 32 (w Hapcanie 128). Spakowałem nieco ich format w stosunku do hapcanowych modułów i z 32 bajtów zrobiłem 19. Nie jest to być może najszybsze rozwiązanie z punktu widzenia ułożenia danych w pamięci, ale pozwala ją zaoszczędzić.

Wygląda na to, że niedługo będzie można wreszcie zapalić diodę w Arduino w reakcji na wiadomość Hapcana ;).
kompio
Posts: 98
Joined: 22 Jul 2016, 14:38

Re: Własne moduły

Post by kompio »

Super, będzie można zrobić relay-a "dopuszkowego" jak się to ładnie upcha.
Cały czas trzymam kciuki za projekt ;]
Bartek
Posts: 326
Joined: 14 Jul 2011, 19:36
Location: Wrocław
Contact:

Re: Własne moduły

Post by Bartek »

Tak się zastanawiam Jacku, czy dało by się otworzyć Hapcan Programmer na zewnętrzne urządzenia? Żeby dało się do konkretnego nowego urządzenia podać konfigurację np. w pliku XML, lub jako plugin w którym zdefiniowane byłyby instrukcje do konfiguracji boxów, tudzież podgląd aktualnego stanu i wysyłanie komend sterujących modułem. Jest to wykonalne biorąc pod uwagę rozsądny czas, zasoby czy lepiej napisać osobny software do programowania?
Jacek
Posts: 560
Joined: 17 Feb 2007, 18:00

Re: Własne moduły

Post by Jacek »

Też o tym myślałem, tylko zabrakło mi odwagi, bo raczej czuje się hardware-owcem niż software-owcem. Ale jakbyś myślał o nowym oprogramowaniu, to uwzględnij tę funkcjonalność, a ja chętnie dopiszę konfigurację do obecnych modułów.
Regards
Jacek
Bartek
Posts: 326
Joined: 14 Jul 2011, 19:36
Location: Wrocław
Contact:

Re: Własne moduły

Post by Bartek »

Kiedyś jakiś tam kawałek softu do Hapcana skrobnąłem w C#, więc można pomyśleć o jego rozwoju w kierunku programatora. Obawiam się jednak, że o ile ze zrobieniem prostych dodatków w stylu podgląd stanu urządzenia i programowania go problemu nie będzie o tyle na przepisanie całego programera raczej mogę nie znaleźć czasu :). Z resztą przepisanie to tylko połowa, jeszcze to trzeba w miarę przetestować. Zobaczymy co z tego wyjdzie.
Post Reply