BoneIO
is a compact IO controller for home automation. Main features of this controller are
- Compact size (27x11x6)cm - 15 DIN modules
- DIN rail compatibility
- Low price
- Open HSP (See below)
boneIO - Smart Home Project
License: GNU General Public License v3.0
BoneIO
is a compact IO controller for home automation. Main features of this controller are
Samoczynne wyzwalanie inputów podczas ruchu roletami.
BoneIO1:
Input v0.3
Wejścia zasilane 12V
RelayBoard 32x5
BoneIO2:
Input v0.2
Wejścia zasilane 12V
ShutterBoard 32x10
Ruch rolety (230V) podłączonej do BoneIO2 wyzwala inputy w jednym i w drugim sterowniku. Nawet te, do których nic nie jest podłączone. Niezależnie od ustawienia bounce_time. Łączenie GND zasilaczy 12V i 24V nie pomogło. Odłączenie RS485 nie pomogło. Przestawianie gpio_mode nie pomogło. Odłączenie napięcia od shutter board i pstrykanie przekaźnikami nie powoduje wyzwolenia inputów. Podłączenie żarówki w miejsce rolety i właczanie/wyłączanie nie powoduje wyzwolenia inputów.
Add functionality to split input and output config into many files like this works is in HA:
switch: !include_dir_merge_list switches/
Od @Bobsonkz:
Zasilanie przekaźników z 5V, jest ich 20 (każdy bierze do 100mA). Macie tylko jeden pin GND i jeden 5V. Gwarantuje że przy dłuższej pracy na wszystkich przekaźnikach te 2 ampery wypalą tego golpina, w szczególności jak ktoś krzywo wciśnie złącze.
The momentary switch mode (normally open) allows to control third party bistable relays. Pulse duration: around 500 ms.
Od @Bobsonkz:
Przy wyjściu od przekaźnika:
Te szerokości ścieżek są za słabe aby puścić 16A, czyli tyle ile pozwala przekaźnik.
Należy puścić ścieżkę z dwóch stron i od strony botoma dał bym bez soldermaski
Pogrubić oczka od padów
Złączyć razem wspólne piny od przekaźnika (te co się nie przecinają)
Puścić linie powrotną obok przekaźnika a nie pomiędzy panami, tam jest więcej miejsca. Teraz momentami jest tylko 1.5mm.
Dołożyć wcięcia izolacyjne pomiędzy liniami przekaźnika na całej długości.
Wyśrodkować te linie ile się da, muszą być zachowane odstępy
W dokumentacji jest napisane że obsługuje do 9.9V.
Na wejściu wzmacniacza oprócz zabezpieczeń i obciążenia to by się jeszcze jakiś filtr RC przydał bo bez niego to te pomiary ADC to też za wiele sensu nie będą miały
Od jakiegoś czasu po głowie chodzi mi pewien koncept. Nie jestem elektronikiem więc bądźcie wyrozumiali jeśli to nie ma sensu :)
Lubię modułowe rozwiązania i myślałem o czymś takim, że mamy płytkę podzieloną na x sekcji, każda sekcja to jeden moduł do którego doprowadzamy zasilanie (być może w różnych opcjach), masę, wyjścia na złącza śrubowe, i2c, spi i co tam uznamy za stosowne. Wszystko to wystawione na goldpiny. Teraz można do tego wydrukować obudowe standardową i różne moduły które można zaprojektować i które korzystały by z wybranych pinów.
Podsumowując mamy sloty w które możemy wpiąć standardowej wielkości obudowy (ewentualnie jakieś wersję x2, x3) najlepiej jakby można było zrobić hotplug.
Co wy o tym sądzicie?
Co według mnie jest źle (chyba że ktoś już to poprawił ale nie zrobił comita):
Przy wyjściu od przekaźnika:
Te szerokości ścieżek są za słabe aby puścić 16A, czyli tyle ile pozwala przekaźnik.
Należy puścić ścieżkę z dwóch stron i od strony botoma dał bym bez soldermaski
Pogrubić oczka od padów
Złączyć razem wspólne piny od przekaźnika (te co się nie przecinają)
Puścić linie powrotną obok przekaźnika a nie pomiędzy panami, tam jest więcej miejsca. Teraz momentami jest tylko 1.5mm.
Dołożyć wcięcia izolacyjne pomiędzy liniami przekaźnika na całej długości.
Wyśrodkować te linie ile się da, muszą być zachowane odstępy
Zasilanie przekaźników z 5V, jest ich 20 (każdy bierze do 100mA). Macie tylko jeden pin GND i jeden 5V. Gwarantuje że przy dłuższej pracy na wszystkich przekaźnikach te 2 ampery wypalą tego golpina, w szczególności jak ktoś krzywo wciśnie złącze.
Błędy rozlania masy
Na relay boardzie cała masa jest podłączona tylko na końcu płytki
Nie ma przelotek wyrównawczych, tylko kilka na skraju
Masa powinna mieć przejście przy każdym, GND układu (na pewno przy MCP), kondensatorze itp.
Sterowanie przekaźnikiem:
Proponował bym dodać dodatkową diodę (ta w ULN2803 czasami u niektórych producentów jest dziwnie oznaczona)
Dodanie rezystorów do masy na wejściach on ULN
Ew. dodanie diód że przekaźnik jest załączony
Brak kondensatów na zasilaniu :ULN, czujnika temp, dodatkowych przy przekaźnikach
Zmiana elementów na 0805, jest bardzo dużo miejsca na płytce, jak by ktoś to chciał lutować ręcznie to na pewno będzie łatwiej.
Dodanie bezpieczników na płytce, czasem może ktoś coś spalić :)
Jeden ULN ma wykorzystane 8 wyjść a pozostałe po 6, lepiej zrobić 6-7-7. Dodatkowo ULN ma do 500mA więc przy 7 przekaźnikach 5V-100mA przekraczamy dopuszczalne prądy. Warto zadbać o ich chłodzenie, zrobić duże przelotki i usunąć solder maskę.
Od @Bobsonkz
Od @Bobsonkz
Na relay boardzie cała masa jest podłączona tylko na końcu płytki
Nie ma przelotek wyrównawczych, tylko kilka na skraju
Masa powinna mieć przejście przy każdym, GND układu (na pewno przy MCP), kondensatorze itp.
Witam, stworzyłem schemat płytki dla ESP32 chciałem aby osoby które maja doświadczenie pomogły trochę tworzeniu projektu, może macie jakieś sugestie lub chcecie zmian albo gdzieś jest błąd to proszę o komentowanie.
input board ESP32.pdf
We have to add functionality to declare MCP inputs. Thank's to this we could use Input Board ESP as an expansion module via MCP.
New type for input in configuration for example "impulse meter"
We will able to plug impulse output from energy meter to boneio inputs. Then convert signals to kWh/day/hour and send to mqtt broker.
Boneio says in log:
debian@beaglebone:~$ systemctl status boneio.service
● boneio.service - boneIO
Loaded: loaded (/lib/systemd/system/boneio.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2022-12-06 22:00:07 UTC; 11h ago
Process: 1212 ExecStart=/home/debian/boneio/venv/bin/boneio run -c /home/debian/boneio/config.yaml (code=exited, status=1/FAILURE)
Main PID: 1212 (code=exited, status=1/FAILURE)
Dec 06 22:00:07 beaglebone boneio[1212]: File "/home/debian/boneio/venv/lib/python3.7/site-packages/w1thermsensor/async_core.py", line 86, in get_t
Dec 06 22:00:07 beaglebone boneio[1212]: raw_temperature_line = (await self.get_raw_sensor_strings())[1]
Dec 06 22:00:07 beaglebone boneio[1212]: File "/home/debian/boneio/venv/lib/python3.7/site-packages/w1thermsensor/async_core.py", line 61, in get_r
Dec 06 22:00:07 beaglebone boneio[1212]: "Could not find sensor of type {} with id {}".format(self.name, self.id)
Dec 06 22:00:07 beaglebone boneio[1212]: w1thermsensor.errors.NoSensorFoundError:
Dec 06 22:00:07 beaglebone boneio[1212]: Could not find sensor of type DS18B20 with id 3c01e076a1d1
Dec 06 22:00:07 beaglebone boneio[1212]: Please check cabling and check your /boot/config.txt for
Dec 06 22:00:07 beaglebone boneio[1212]: dtoverlay=w1-gpio
Dec 06 22:00:07 beaglebone systemd[1]: boneio.service: Main process exited, code=exited, status=1/FAILURE
Dec 06 22:00:07 beaglebone systemd[1]: boneio.service: Failed with result 'exit-code'.
lines 1-16/16 (END)
After restart service is ok
After restart HA BoneIO switches are unavailable. Boneio service needs to be restarted.
Please consider building a version of output/relay board using latching relays.
This would help with multiple potential issues:
W tym momencie do obsługi IO wykorzystywany jest BeagleBone który podbija cenę urządzenia które dodatkowo się trochę marnuje ponieważ głównym jego zadaniem jest wysterowanie przekaźników i odczyt wejść. Bardziej ekonomicznym rozwiązaniem było by zastosowanie:
There is 3.3V connected to VCC and it should be 5V. Beacause of this rtc won't work with battery connected to BAT pin. If you wan't to use rtc on v0.2 board you have to cut 3.3 path and connect the pin directly to 5v.
Ponieważ jest to wyświetlacz OLED powinien np. po 10 minutach być wygaszany - kliknięcie w przycisk powinno najpierw wybudzać wyświetlacz.
W wersji v0.2 na pinach P8_45 i P8_46 są zamontowane rezystory pull-up, które nie pozwalają na zbootowanie bbb.
Na tych pinach nie może być zewnętrznego pull-up.
Rozwiązanie:
Obejście dla wersji v0.2
Od @Bobsonkz
Proponował bym dodać dodatkową diodę (ta w ULN2803 czasami u niektórych producentów jest dziwnie oznaczona)
Dodanie rezystorów do masy na wejściach on ULN
Ew. dodanie diód że przekaźnik jest załączony
Proponuję bardzo małą zmianę w projekcie, aby dać możliwość wykorzystania 2 lub 4 styków NC.
Połączyć K9-Pad12 lub 22 poprzez zworę (pod przekaźnikiem K10) z J6-Pad3 oraz K8-Pad12 lub 22 poprzez zworę (pod przekaźnikiem K10) z J6-Pad4. Analogicznie po drugiej stronie z K18, K19 i K20.
W ten sposób rezygnując z przekaźnika K10 dostaniemy wyjścia NC z przekaźników K8 i K9. Dodatkowo rezygnując z przekaźnika K20 dostaniemy wyjścia NC z przekaźników K18 i K19.
Od @Bobsonkz
jest bardzo dużo miejsca na płytce, jak by ktoś to chciał lutować ręcznie to na pewno będzie łatwiej.
Dalej na input boradzie jest w sumie z 10 projektów kicada w różnych folderach, mam dużo uwag, dodatkowo ktoś gdzieś robił wrzutkę że jest dodana przetwornica a jej nie widzę.
Insted of set output always to ON it Toggles it. Here you have config example:
- id: IN_29
PIN: P8_36
actions:
double:
action: 'output'
pin: OUT_20
action_type: 'on'
Double click should work faster - i think twise as fast as right now.
Witam.
Na wstepie chciałem pogratulować pomysłu i jego realizacji. Do szczęścia w waszym projekcie brakuje mi magistrali CAN.
Czy rozważacie dodanie magistrali CAN?
https://www.beyondlogic.org/adding-can-to-the-beaglebone-black/
pozdrawiam
Od @Bobsonkz
Ten model wyświetlacza posiada różną kolejność PINów. BoneIO jest przystosowane do VDD, GND, SCK, SDA, natomiast niektóre mają GND, VCC, SCL, SDA.
Do dodania w dokumentacji I/lub w google sheet w arkuszu o BOM/THT.
Na discordzie było już parę pytań czemu wyświetlacz nie działa właśnie z tego powodu.
It would be nice if there was option to place the static configuration in some readable format (yaml??) on the SD Card.
That could serve 2 purposes:
Modbus
Input Board BBB
For versions v0.2 and v0.3 UART1 and for versions v0.4 and later UART4
Plugging in bbb rotated 180 degrees will damage bbb. To prevent that we should add some visual signs how it should be plugged in.
Słuchajcie chce na płytce dodać możliwość wlutowaniu gotowego modułu LM2596 ale mam problem odnośnie wymiarów są różne. Dajcie znać jakie wymiary najczęściej macie, najlepiej jaki rozstaw otworów montażowych. Wybiorę najbardziej popularną.
Now you can connect only one output to input in yaml config. It will be nice to have a chance to control multiple output from one input.
In app v0.5.1 temperature reading is missing on OLED uptime screen.
Od @Bobsonkz
Jeden ULN ma wykorzystane 8 wyjść a pozostałe po 6, lepiej zrobić 6-7-7. Dodatkowo ULN ma do 500mA więc przy 7 przekaźnikach 5V-100mA przekraczamy dopuszczalne prądy. Warto zadbać o ich chłodzenie, zrobić duże przelotki i usunąć solder maskę.
Cześć, brak obsługi licznika SDM230.
Nie chce też się połączyć na SDM120 i 630.
odwrócone działanie sensora dla kontaktronów
pressed = OFF w HA
released = ON w HA
Dodać do wyświetlacza ekran na którym będzie pokazywany czas z rtc i temperatura z czujnika wewnętrznego, o ile te moduły zostały zainstalowane.
Right now instead of ON/OFF app wants turn_on, turn_off.
Dodać ekran z graficzną reprezentacją stanu przekaźników na urządzeniu (załączony/wyłączony)
Cześć,
posiadam silniki Inel z wykrywaniem przeciążeń model N-10P, w tych silnikach ustawienia krańcowe ustawiają się same. Czasami jednak zdarza się, że rolety blokują się lub nie otwierają do końca. Producent przewidział to i wprowadził opcję resetu. Wykonuje się to przez podane napięcia jednocześnie na obwód góry i dół na ok 3-5 sek, silniki wtedy dają sygnał zrestartowania przez krótkie podniesienie się i opuszczenie.
Idealnie by było żeby był dodatkowy topic per silnik na który można by było wysłać komendę do restartu, wtedy boneio powinno jednocześnie włączyć przekaźniki open i close na 5 sek.
Ta opcja jest przeciwieństwem wprowadzonego zabezpieczenia w płytce shutter, więc działałaby tylko na zwykłych relay boardach.
Proponuję dodać opcję w konfigu włączającą ją, tak żeby każdy włączał ją świadomie bo może być zabójcza dla "zwykłych" silników. Można ją nazwać np. "enable_inel_overload_reset" żeby dawała do myślenia przed jej włączeniem.
@kamil2466 poruszył temat w innym w issue
"Ja mam pytanie innej kwestii czy może udało by się zmniejszyć obudowę o te 3-4 cm żeby była możliwość druku na małych stołach drukarek 3D. Co za tym idzie więcej miejsca w szafie :)"
dla całości dyskusji @maciejk1984 odpowiedział
"Można trochę zmniejszyć... ale jakiś 1cm, a to wiele nie da. Myślę, że taki zabieg można będzie zrobić przy przejściu na esp, bo moduł będzie po prostu mniejszy i moglibyśmy wtedy zejść do tych 22cm, aby ender 3 to drukował. Wtedy dostęp do możliwości drukowania znacząco się poprawi i będzie jeszcze bardziej uniwersalne."
Ja chciałem dodać od siebie propozycję żeby spróbować wyrównać rozmiarókę do standardów modułów na szynie DIN https://en.wikipedia.org/wiki/DIN_rail. Każdy moduł ma 18mm więc teraz mamy (260=18 * 14,444). Zaokrąglając w dół może to być 252 (18*14) czyli mniejsze o 8mm. Robiąc nową wersję moglibyśmy brać to pod uwagę. Co myślicie?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.