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
Various programs in Atari BASIC for #FujiNet for Atari 8-bit

FujiNet Various programs in Atari BASIC for #FujiNet for Atari 8-bit FujiNet-3D Tic Tac Toe In 1978, Scott Adams wrote a 3-D Tic Tac Toe game, for pla

Kay Savetz 2 Jan 01, 2022
Python information display framework aimed at e-ink devices

My display, using a Raspberry Pi Zero W and Waveshare 6" e-paper hat infodisplay Modular information display framework aimed at e-ink devices. Built u

Niek Blankers 3 Apr 08, 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
Transform a Raspberry Pi into a network diagnostic machine.

EtherView Last updated jan 30, 2022. Welcome to the EtherView project! This is a project to transform a RaspberryPi into a portable network diagnostic

1 Jan 30, 2022
E-Ink Magic Calendar that automatically syncs to Google Calendar and runs off a battery powered Raspberry Pi Zero

E-Ink Magic Calendar that automatically syncs to Google Calendar and runs off a battery powered Raspberry Pi Zero

2.8k Dec 30, 2022
Universal Xiaomi MIoT integration for Home Assistant

Xiaomi MIoT Raw 简体中文 | English MIoT 协议是小米智能家居从 2018 年起推行的智能设备通信协议规范,此后凡是可接入米家的设备均通过此协议进行通信。此插件按照 MIoT 协议规范与设备通信,实现对设备的状态读取及控制。

1.9k Jan 02, 2023
FHEM Connector for FHT Heating devices

home-assistant-fht from: https://github.com/Rsclub22 FHEM Connector for FHT Heating devices (connected via FHEM) Requires FHEM to work You can find FH

5 Dec 01, 2022
OPNsense integration with Home Assistant

hass-opnsense Join OPNsense with home-assistant! hass-opnsense uses the built-in xmlrpc service of OPNsense for all interactions. This project is curr

Travis Glenn Hansen 54 Jan 03, 2023
Automatic CPU speed & power optimizer for Linux

Automatic CPU speed & power optimizer for Linux based on active monitoring of laptop's battery state, CPU usage, CPU temperature and system load. Ultimately allowing you to improve battery life witho

Adnan Hodzic 3.4k Jan 07, 2023
circuitpython version of PyBasic for microcontrollers

cPyBasic Circuitpython version of PyBasic for microcontrollers Current version work only for Adafruit titano & CardKB for now. The origninal PyBasic w

BeBoXoS 3 Nov 14, 2021
Simple Microservice to control 433Mhz wireless sockets over HTTP, e.g. on a RaspberryPi

REST-light is a simple microservice to control 433Mhz wireless sockets over HTTP, e.g. on a RaspberryPi. The main usage is an easy integration of 433M

Pascal Höhnel 1 Jan 09, 2022
Authentication provider using Synology DSM users for Home Assistant

Authentication provider using Synology DSM users for Home Assistant The Synology authentication provider lets you authenticate using the users in your

Sam Debruyn 5 Oct 06, 2022
It is a program that displays the current temperature of the GPU and CPU in real time and stores the temperature history.

HWLogger It is a program that displays the current temperature of the GPU and CPU in real time and stores the temperature history. Sample Usage Run HW

Xeros 0 Apr 05, 2022
Rasberry Pie GPIO memory game. Press the corresponding key to the lit LED.

RPie-keyboard-game Rasberry Pie GPIO memory game. Press the corresponding key to the lit LED. Randem LED (general output) is lit up on rasberrypi rand

Shawn Dowling 1 Oct 24, 2021
A rubiks cube timer using a distance sensor and a raspberry pi 4, and possibly the pi pico to reduce size and cost.

distance sensor cube timer A rubiks cube timer using a distance sensor and a raspberry pi 4, and possibly the pi pico to reduce size and cost. How to

3 Feb 21, 2022
Home assiatant Custom component: Camera Archiver

Camera archiver Archive your ftp camera meadia files on other ftp with files renaming and event creation. Event can be used for send information to el

1 Jan 06, 2022
This repository hosts the code for Stanford Pupper and Stanford Woofer, Raspberry Pi-based quadruped robots that can trot, walk, and jump.

This repository hosts the code for Stanford Pupper and Stanford Woofer, Raspberry Pi-based quadruped robots that can trot, walk, and jump.

Stanford Student Robotics 1.2k Dec 25, 2022
Jarvis: a personal assistant which can help you to manage your system

Jarvis Jarvis is personal AI based assistant which can help you to manage stuff in your computer. This is demo but I decided to make it more better so

2 Jun 02, 2022
LifeSaver automatically, periodically saves USB flash drive data into the PC

LifeSaver automatically, periodically saves USB flash drive data into the PC. Theoriticaly it will work with any any connected drive ex - Hard Disk ,SSD ... But, can't handle Backing up multipatition

siddharth dhaka 4 Sep 26, 2021
Terkin is a flexible data logger application for MicroPython and CPython environments.

Terkin Data logging for humans, written in MicroPython. Documentation: https://terkin.org/ Source Code: https://github.com/hiveeyes/terkin-datalogger

hiveeyes 45 Dec 15, 2022