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
CPU benchmark by calculating Pi, powered by Python3

cpu-benchmark Info: CPU benchmark by calculating Pi, powered by Python 3. Algorithm The program calculates pi with an accuracy of 10,000 decimal place

Alex Dedyura 20 Jan 03, 2023
Custom component for interacting with Octopus Energy

Home Assistant Octopus Energy ** WARNING: This component is currently a work in progress ** Custom component built from the ground up to bring your Oc

David Kendall 116 Jan 02, 2023
A Python class for controlling the Pimoroni RGB Keypad for Raspberry Pi Pico

rgbkeypad A Python class for controlling the Pimoroni RGB Keypad for the Raspberry Pi Pico. Compatible with MicroPython and CircuitPython. keypad = RG

Martin O'Hanlon 43 Nov 11, 2022
hardware design of the 250mm drone

hardware design of the 250mm drone

ZJU FAST Lab 645 Dec 25, 2022
This is a python script to grab data from Zyxel NSA310 NAS and display in Home Asisstant as sensors.

Home-Assistant Python Scripts Python Scripts for Home-Assistant (http://www.home-assistant.io) Zyxel-NSA310-Home-Assistant Monitoring This is a python

6 Oct 31, 2022
SPI driven CircuitPython driver for PCA9745B constant current LED driver.

Introduction THIS IS VERY MUCH ALPHA AND IN ACTIVE DEVELOPMENT. THINGS WILL BREAK! THIS MAY ALSO BREAK YOUR THINGS! SPI driven CircuitPython driver fo

Andrew Ferguson 1 Jan 14, 2022
The example shows using local self-hosted runners on-premises by making use of a runner on a Raspberry Pi with LED's attached to it

The example shows using local self-hosted runners on-premises by making use of a runner on a Raspberry Pi with LED's attached to it

Martin Woodward 6 Nov 13, 2021
Sleep Functionality for Adafruit MacroPad RP2040

Adafruit-MacroPad-RP2040 Sleep Functionality for Adafruit MacroPad RP2040 Details This is a modification of AdaFruit project bundle found here specifi

9 Dec 18, 2022
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
Skykettle ha - Redmond SkyKettle integration for Home Assistant

Redmond SkyKettle integration for Home Assistant This integration allows to cont

Alexey 'Cluster' Avdyukhin 48 Jan 06, 2023
New armachat based on Raspberry Pi PICO an Circuitpython code

Armachat-circuitpython New Armachat based on Raspberry Pi PICO an Circuitpython code Software working features: send message with header and store to

Peter Misenko 44 Dec 24, 2022
Fener ROS2 package version 2

Fener's ROS2 codes that runs on the vehicle. This node contains basic sensing and actuation nodes for vehicle control. Also example applications will be added.

Muhammed Sezer 1 Jan 18, 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
Home Assistant component to handle key atom

KeyAtome Home Assistant component to handle key atom, a Linky-compatible device made by Total/Direct-Energie. Installation Either use HACS (default),

18 Dec 21, 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
Micropython-wifimanager-esp8266 - Simple Wifi Manager for ESP8266 using MicroPython

micropython-wifimanager-esp8266 Simple Wifi Manager for ESP8266 using MicroPytho

Abhinuv Nitin Pitale 1 Jan 04, 2022
Open-Source board for converting RaspberryPI to Brain-computer interface

The easiest way to the neuroscience world with the shield for RaspberryPi - PIEEG (website). Open-source. Crowdsupply This project is the result of se

Ildaron 436 Jan 01, 2023
Parametric open source reconstructions of Voron printed parts

The Parametric Voron This repository contains Fusion 360 reconstructions of various printed parts from the Voron printers

Matthew Lloyd 26 Dec 19, 2022
Classes and functions for animated text and graphics on an LED display

LEDarcade A collection of classes and functions for animated text and graphics on an Adafruit LED Matrix.

datagod 31 Jan 04, 2023
从零开始打造一个智能家居系统

SweetHome 从零开始打造智能家居系统的尝试,主要的实现有 可以扫码添加设备并控制设备的Android App 可以控制亮灭的灯,并可以设置在Android App连接到指定Wifi后自动亮起 可以控制开关的窗帘,机械结构部分自己设计并3D打印出来 树莓派主控,实现Http请求接口和ZigBe

金榜 5 May 01, 2022