BoneIO is a compact IO controller for home automation.

Related tags

HardwareboneIO
Overview

Project description

BonePic BoneDiagram

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)

Technical details of v0.2

InputBoard

  • 52 digital inputs
  • 7 analog to digital converters
  • i2c
  • rs485
  • OLED display
  • user switch
  • 24V PSU input
  • ADC VDD output
  • 12-48V external PSU for digital inputs
  • jumper to switch between internal and external PSU for inputs
  • jumper to switch between vcc and gnd input control

RelayBoard24x16

  • 24 relays (230V/16A) max current 5A* (10A* tinned traces, 16A* bridged 1,5 mm²) *everything needs to be verified
  • temp sensor

RelayBoard32x5

  • 32 relays (230V/5A)
  • temp sensor

Open HSP

BoneIO is an Open HSP initiative where everything is open on GPL-3.0 License

  • H (Hardware) stands for projects of electronic boards which you can print yourself
  • S (Software) stands for ready to use firmware you can use on printed hardware
  • P (Printables) stands for cases and other plastic elements you can print on a 3D printer and use with our hardware

With all elements in place, you can assemble a complete device. You can use it as-is or fork and modify it for your needs.

Contribution

If you want to contribute to the project here are the rules:

  1. First watch this short training: How to use repo
  2. When you have something to discuss first check out our Team chat
  3. When you have a specific problem/feature to report add new issue. Remember to report single topic in one issue. If you have complex topic try split it to more precise topics.
  4. When you want change something in the repository use your Fork and make new Pull Request (See Working with repository (Polish))
  5. You can also monitor our Facebook group

Documentation

Photos of v0.1

Github

Github

Github

Github

Comments
  • Te szerokości ścieżek są za słabe aby puścić 16A, czyli tyle ile pozwala przekaźnik.

    Te szerokości ścieżek są za słabe aby puścić 16A, czyli tyle ile pozwala przekaźnik.

    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

    1

    bug 
    opened by maciejkrasuski 19
  •  BeagleBone => Port Expander + ESP

    BeagleBone => Port Expander + ESP

    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:

    1. Port Expandera - w urządzeniach które mam teraz (HSRel8 i I2C-Port 16 HS) jest zastosowany MAX7311 ale może jest coś lepszego
    2. ESP32 - do połączenia z expanderem i wysyłaniu sygnałów MQQT z input oraz odbieraniem ich do wysterowania przekaźnikami
    enhancement 
    opened by dominikjeske 13
  • Błędy rozlania masy

    Błędy rozlania masy

    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 2 Masa powinna mieć przejście przy każdym, GND układu (na pewno przy MCP), kondensatorze itp.

    bug 
    opened by maciejkrasuski 6
  • System modułowy

    System modułowy

    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?

    enhancement 
    opened by dominikjeske 5
  • [Software/Enhancement] Configuration from SD card with autonomous mode

    [Software/Enhancement] Configuration from SD card with autonomous mode

    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:

    • to define MQTT topics for inputs/outputs on the card instead of sending it from the HA
    • add simple autonomous mode that will hardwire inputs to outputs (for momentary and statefull switches - eg. input 7 toggles output 10; output 11 is directly driven by the state of input 8) - that mode could be either used upon HA failure or even add option to deploy boneIO in standalone mode
    enhancement 
    opened by wstrzalka 4
  • Sterowanie przekaźnikiem

    Sterowanie przekaźnikiem

    Od @Bobsonkz 3

    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 4

    Ew. dodanie diód że przekaźnik jest załączony

    opened by maciejkrasuski 4
  • Zasilanie przekaźników z 5V, jest ich 20 (każdy bierze do 100mA)

    Zasilanie przekaźników z 5V, jest ich 20 (każdy bierze do 100mA)

    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.

    opened by maciejkrasuski 4
  • Zmiany w projekcie relay board

    Zmiany w projekcie relay board

    Co według mnie jest źle (chyba że ktoś już to poprawił ale nie zrobił comita): Przy wyjściu od przekaźnika:

    1. 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 image

    2. 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.

    3. 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 image Masa powinna mieć przejście przy każdym, GND układu (na pewno przy MCP), kondensatorze itp.

    4. Sterowanie przekaźnikiem: Proponował bym dodać dodatkową diodę (ta w ULN2803 czasami u niektórych producentów jest dziwnie oznaczona) image Dodanie rezystorów do masy na wejściach on ULN image Ew. dodanie diód że przekaźnik jest załączony

    5. Brak kondensatów na zasilaniu :ULN, czujnika temp, dodatkowych przy przekaźnikach

    6. 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.

    7. Dodanie bezpieczników na płytce, czasem może ktoś coś spalić :)

    8. 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ę.

    opened by Bobsonkz 4
  • Standaryzacja rozmiarów

    Standaryzacja rozmiarów

    @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?

    enhancement 
    opened by dominikjeske 3
  • Boneio Code app YAML

    Boneio Code app YAML

    Nowy PR, jako że poprzedni odłączył mi się od repo...

    • Biblioteka Adafruit_BBB
    • Klient Mqtt oparty całkowicie oparty na asyncio (na bazie klienta HA-OpenZWave)
    • dodany autodiscovery do HA, żeby od razu się pojawiało
    • config w oparciu o YAML
    opened by pszafer 2
  • Boneio Code app

    Boneio Code app

    Aplikacja do obejrzenia co przygotowałem. Nie mam jeszcze BBB więc nie przetestowana dostatecznie.

    • Użyłem biblioteki gpiozero, która robi dodatkowe wątki za mnie dla gpio, gdy trzeba.
    • Klient Mqtt oparty całkowicie oparty na asyncio (na bazie klienta HA-OpenZWave)
    • Relays to na razie LEDy, docelowo zmienie klasy jak będę miał pewność że gpiozero obsłuży BBB,
    • dodany autodiscovery do HA, żeby od razu się pojawiało.
    opened by pszafer 2
  • boneio.service crash after temperature sensor report error

    boneio.service crash after temperature sensor report error

    Boneio says in log:

    [email protected]:~$ 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

    opened by silent012 0
  • Analog input critical bug in boneio ESP

    Analog input critical bug in boneio ESP

    W dokumentacji jest napisane że obsługuje do 9.9V.

    1. Nie obsługuje takiego napięcia wejsciowego bo ten wzmacniacz co robi za bufor jest zasilany z 5V a sygnał z zacisku wchodzi bezposrednio na niego więc na wyjściu ze wzmacniacza nie będzie więcej niż 5V a nawet i tego nie będzie bo to nie jest wzmacniacz rail to rail. W zasadzie zgodnie z dokumentacją to nie można na jego wejscie dać więcej niż Vcc-1.5V czyli 3.5V.
    2. Takie nieobciążone wejście to bedzie jeden wielki szum a nie pomiar. Wejście analogowe trzeba obciążyć do masy rezystorem np. 47k (proszę popatrzeć jakie są impedancje wejściowe np sterowników PLC na wejściach analogowych)
    3. Bezpośrednie podłączenie wejścia wzmacniacza do szyny bez żadnego zabezpieczenia ESD/overvoltage to w sumie jednorazówka. Do pierwszego wyładowania od palucha i po wzmacniaczu.

    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

    boneio esp 
    opened by krystiansierota 6
  • New input functionality - impulse energy meter

    New input functionality - impulse energy meter

    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.

    opened by mariuszrubach 0
Releases(v0.2)
  • v0.2(Nov 14, 2021)

    Finished circuits and case for:

    Input Board for BBB (RTC, RS485, i2c, 7ADC, 52 inputs) Relay Board 24x16A i2c Relay Board 32x5A i2c

    Code is not ready yet.

    Source code(tar.gz)
    Source code(zip)
Owner
Maciej Krasuski
Maciej Krasuski
Home Assistant custom component to help ev-chargers stay below peak hourly energy levels.

Peaqev ev-charging Peaqev ev-charging is an attempt of charging an ev without breaching a preset monthly max-peak energy level. In order for this inte

Magnus Eldén 35 Dec 24, 2022
Sensor of Temperature Feels Like for Home Assistant.

Please ⭐ this repo if you find it useful Sensor of Temperature Feels Like for Home Assistant Installation Install from HACS (recommended) Have HACS in

Andrey 60 Dec 25, 2022
Nordpool_diff custom integration for Home Assistant

nordpool_diff custom integration for Home Assistant Requires https://github.com/custom-components/nordpool Applies non-causal FIR differentiator1 to N

Joonas Pulakka 45 Dec 23, 2022
ArduinoWaterHeaterIOT - IoT Probe of a solar PV water heating system - Arduino, Python, MQTT, MySQL

ArduinoWaterHeaterIOT IoT Probe of a solar PV water heating system - Arduino, Raspberry Pi, Python, MQTT, MySQL The Arduino sends the AC and DC watts

Jacques Fourie 1 Jan 11, 2022
Poupool is an overflow swimming pool control software

Poupool - The swimming pool controller Poupool is a swimming pool control software. It is based on Transitions, Pykka and Paho MQTT. The user interfac

Cyril Jaquier 8 Jul 18, 2022
A ch341dll Wrap is for using in Python 32bits windows to access I2C SPI and MDIO (by GPIO), and Demo with display PC sreen on OLED by i2c or SPI .

ch341dll_wrap_typcal_app A ch341dll Wrap is for using in Python 32bits windows to access I2C SPI and MDIO (by GPIO). In addition, I provided 3 Demo. I

13 Jan 02, 2023
Vvim - Keyboardless Vim interactions

This is done via a hardware glove that the user wears. The glove detects the finger's positions and translates them into key presses. It's currently a work in progress.

Boyd Kane 8 Nov 17, 2022
Iec62056-21-mqtt - Publish DSMR P1 telegrams acquired over IEC62056-21 to MQTT

IEC 62056-21 Publish DSMR P1 telegrams acquired over IEC62056-21 to MQTT. -21 is

Marijn Suijten 1 Jun 05, 2022
This OctoPrint plugin will make the initial connection to 3D Hub a breeze

3D Hub Connector This OctoPrint plugin will make the initial connection to 3D Hub a breeze. In future it will help in setting up a tunnel connection a

3D Hub 2 Aug 03, 2022
Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in interesting ways to sense and manipulate the environment.

Mycodo Environmental Regulation System Latest version: 8.12.9 Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in i

Kyle Gabriel 2.3k Dec 29, 2022
Raspberry Pi Pico and LoRaWAN from CircuitPython

Raspberry Pi Pico and LoRaWAN from CircuitPython Enable LoRaWAN communications on your Raspberry Pi Pico or any RP2040-based board using CircuitPython

Alasdair Allan 15 Oct 08, 2022
Using a raspberry pi, we listen to the coffee machine and count the number of coffee consumption

A typical datarootsian consumes high-quality fresh coffee in their office environment. The board of dataroots had a very critical decision by the end of 2021-Q2 regarding coffee consumption.

dataroots 51 Nov 21, 2022
Custom component for Home Assistant that integrates Candy/Haier Wi-Fi washing machines (also known as Simply-Fi).

Candy Home Assistant component Custom component for Home Assistant that integrates Candy/Haier Wi-Fi washing machines (also known as Simply-Fi). This

Olivér Falvai 61 Dec 29, 2022
Connect a TeslaMate instance to Home Assistant, using MQTT

TeslaBuddy Connect a TeslaMate instance to Home Assistant, using MQTT. It allows basic control of your Tesla vehicle via Home Assistant (currently, ju

4 May 23, 2022
Python script: Enphase Envoy mqtt json for Home Assistant

A Python script that takes a real time stream from Enphase Envoy and publishes to a mqtt broker. This can then be used within Home Assistant or for other applications. The data updates at least once

29 Dec 27, 2022
Create a low powered, renewable generation forecast display with a Raspberry Pi Zero & Inky wHAT.

GB Renewable Forecast Display This Raspberry Pi powered eInk display aims to give you a quick way to time your home energy usage to help balance the g

Andy Brace 32 Jul 02, 2022
A LiteX project which builds a SoC with DRAM / HDIM output via the GPDI SYZYGY addon.

ButterStick GPDI LiteX demo A LiteX project which builds a SoC with DRAM / HDIM output via the GPDI SYZYGY addon. Getting started Connect GPDI board t

4 Nov 21, 2021
Port of Uxn to digital hardware in the Logisim simulator

Uxn-Logisim Implements the Uxn instruction set in digital hardware. Very WIP. Contents cpu.circ - The Logisim file microcode.mc - Microcode source fil

DeltaF1 11 Mar 27, 2022
Doughskript interpreter for converting simple command sequences into executable Arduino C++ code.

Doughskript interpreter for converting simple command sequences into executable Arduino C++ code.

Svjatoslav 2 Jan 11, 2022
Beam designs for infinite Z 3D printers

A 3D printed beam that is as stiff as steel A while ago Naomi Wu 机械妖姬 very kindly sent us one of Creality's infinite-Z belt printers. Lots of people h

RepRap Ltd 105 Oct 22, 2022