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
Python library for the Phomemo m02s bluetooth thermal printer

Phomemo M02S Python library This is a basic Python library for controlling the Phomemo M02S bluetooth thermal printer. It probably only works on Mac &

Stargirl Flowers 28 Nov 07, 2022
LUNA: a USB multitool & nMigen library

LUNA is a full toolkit for working with USB using FPGA technology; and provides hardware, gateware, and software to enable USB applications.

Great Scott Gadgets 750 Dec 28, 2022
This repository contains all the code and files needed to simulate the notspot quadrupedal robot using Gazebo and ROS.

Notspot robot simulation - Python version This repository contains all the files and code needed to simulate the notspot quadrupedal robot using Gazeb

50 Sep 26, 2022
Zev es un Bot/Juego RPG de Discord creado en y para aprender Python.

Zev es un Bot/Juego RPG de Discord creado en y para aprender Python.

Julen Smith 3 Jan 12, 2022
An embedded application for toy-car controlling based on Raspberry Pi 3 Model B and AlphaBot2-Pi.

An embedded application for toy-car controlling based on Raspberry Pi 3 Model B and AlphaBot2-Pi. This is the source codes of my programming assignmen

StardustDL 4 Oct 19, 2022
A script and GUI for controlling stepper motors from an arduino

A script and GUI for controlling stepper motors from an arduino (nema 23 in my case but should work for others in general)

Pip 2 Aug 01, 2022
Home Assistant custom components MPK-Lodz

MPK Łódź sensor This sensor uses unofficial API provided by MPK Łódź. Configuration options Key Type Required Default Description name string False MP

Piotr Machowski 3 Nov 01, 2022
This is a Virtual Keyboard which is simple yet effective to use.

Virtual-Keyboard This is a Virtual KeyBoard which can track finger movements and lets you type anywhere ranging from notepad to even web browsers. It

Jehan Patel 3 Oct 01, 2021
🎃 Some spooky code samples to hack yourself a pumpkin 👻

🎃 Tech Or Treat 👻 It's spooky season for those who celebrate Halloween, and to get in the spirit (spirit - get it? 👻 ) we thought it would be fun t

Jim Bennett 5 Feb 07, 2022
A script for performing OTA update over BLE on ESP32

A script for performing OTA update over BLE on ESP32

Felix Biego 18 Dec 15, 2022
My self-hosting infrastructure, fully automated from empty disk to operating services

Khue's Homelab Current status: ALPHA This project utilizes Infrastructure as Code to automate provisioning, operating, and updating self-hosted servic

Khue Doan 6.4k Dec 31, 2022
Intel Realsense t265 into Unreal Engine

t265_UE Intel Realsense t265 into Unreal Engine. Windows only, and Livelink plugin is 4.26.2 only at the moment. Might recompile it for different vers

Bjarke Aagaard 30 Jan 02, 2023
A Home Assistant sensor that tells you what holiday is next

Next Holiday Sensor This sensor tells you what holiday is coming up next. You can use it to set holiday light colors or other scenes. The state of the

Nick Touran 20 Dec 04, 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
Control the lights of Alienware computers under GNU/Linux systems.

Before requesting support please consider that this software is not actively developed. I created it in 2014 for managing my Alienware M14X-R1 (where

rsm 111 Dec 05, 2022
A Fear and Greed index visualiser for Bitcoin on a SSD1351 OLED Screen

We're Doomed - A Bitcoin Fear and Greed index OLED visualiser Doom is a first-person-shooter from the 1990s. The health status monitor was one of the

VEEB 19 Dec 29, 2022
A 3rd party Moonraker component to create timelapse of 3D prints.

A 3rd party Moonraker component to create timelapse of 3D prints.

Mainsail-Crew 166 Dec 26, 2022
PlatformIO development platform for GSM modules

PlatformIO development platform for GSM modules Supported Modules Quectel M66 OpenCPU Arduino - TODO other - in progress... Supported Boards Comet M66

Georgi Angelov 5 Aug 06, 2022
The robot is an autonomous small scale racing car using NVIDIA Jetson Nano.

The robot is an autonomous small scale racing car using NVIDIA Jetson Nano. This project utilizes deep learning neural network framework Keras/Tensorflow, together with computer vision library OpenCV

1 Dec 08, 2021
Yet another automation project because a smart light is more than just on or off.

Automate home Yet another home automation project because a smart light is more than just on or off. Overview When talking about home automation there

Maja Massarini 62 Oct 10, 2022