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
Bucatini: a soft PIPE PHY for FPGA SerDes

Bucatini: a soft PIPE PHY for FPGA SerDes Bucatini is a noodly gateware layer capable of transforming an FPGA SerDes into a PIPE PHY, allowing you to

Great Scott Gadgets 28 Dec 02, 2022
🌱 - WebhookHard◞ Fines Educativos ◟

v1.0.0 WebhookHardware ¿Que es WebhookHardware? WebhookHardware se trata de un proyecto tratado para sacar informacion sobre el hardware de tus victim

3 Jun 14, 2021
Simple Weather Check base on Hefeng api, Work on raspberry Pi

Simple Weather Check base on Hefeng api, Work on raspberry Pi

Retr0mous 28 Sep 17, 2022
The goal of this project is for anyone with an old printer to be able to double-sided printing.

Welcome to PDF-double-side! Hi! I'm 15. I have a old printer so I can't print double-sided outs. The goal of this project is for anyone with an old pr

DejaVu 4 Dec 28, 2021
Python apps to assist with Gas Blending

Welcome to DiveTools Gas Blending This tool is for testing and educational use. It is not intended to confirm the mix of breathing gases. If this tool

Tucker 7 Sep 18, 2022
Segger Embedded Studio project for building & debugging Flipper Zero firmware.

Segger Embedded Studio project for Flipper Zero firmware Установка Добавить данный репозиторий в качестве сабмодуля в корень локальной копии репозитор

25 Dec 28, 2022
Automatic Watering System using Soil Moisture Sensor and RTC Timer with Arduino

Automatic-Watering-System - Technical Answers to Real-World Problems. Evolution of Watering Manually to Watering Automatically.

Vaishnavi Pothugunta 4 Dec 31, 2021
Huawei Solar sensors for Home Assistant

Huawei Solar Sensors This integration splits out the various values that are fetched from your Huawei Solar inverter into separate HomeAssistant senso

Thijs Walcarius 151 Dec 31, 2022
A small Python app to converse between MQTT messages and 433MHz RF signals.

mqtt-rf-bridge A small Python app to converse between MQTT messages and 433MHz RF signals. This acts as a bridge between Paho MQTT and rpi-rf. Require

David Swarbrick 3 Jan 27, 2022
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
从零开始打造一个智能家居系统

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

金榜 5 May 01, 2022
A DUCO (Duino-Coin) miner for GigaDevice ARM boards.

GD32 Duino-Coin Miner Description Contains the firmware and miner software for mining DUCO (Duino-Coin) on GigaDevice GD32 chips. Supported boards GD3

Maximilian Gerhardt 2 Feb 20, 2022
Activate Numpad inside the touchpad with top right corner switch or F8 key

This is a python service which enables switching between numpad and touchpad for the Asus UX433. It may work for other models.

Mohamed Badaoui 230 Jan 08, 2023
Scapy: the Python-based interactive packet manipulation program & library. Supports Python 2 & Python 3.

Scapy Scapy is a powerful Python-based interactive packet manipulation program and library. It is able to forge or decode packets of a wide number of

SecDev 8.3k Jan 08, 2023
Raspberry Pi Power Button - Wake/Power Off/Restart(Double Press)

Control Raspberry pi with physically attached button. Wake, Power Off, and Restart (Double Press) . Python3 script runs as a service with easy installation.

Stas Yakobov 16 Oct 22, 2022
A battery pack simulation tool that uses the PyBaMM framework

Overview of liionpack liionpack takes a 1D PyBaMM model and makes it into a pack. You can either specify the configuration e.g. 16 cells in parallel a

PyBaMM Team 40 Jan 05, 2023
Modi2-firmware-updater - MODI+ Firmware Updater With Python

MODI+ Firmware Updater 실행 준비 python3(파이썬3.9 혹은 그 이상의 버전)를 컴퓨터에 설치 python3 -m pip

LUXROBO 1 Feb 04, 2022
Monitor Live USB Plug In & Plug Out Events

I/O - Live USB Monitoring Author: Jonathan Scott @jonathandata1 Date: 3/13/2021 CURRENT VERSION 1.0 This is just a simple bash script that calls a pyt

Jonathan Scott 17 Dec 03, 2022
Aqara Camera G3 integration for Home Assistant

Aqara Camera G3 integration for Home Assistant ATTENTION: The component only works after enabled telnet. Only supportd stream. Not support still image

14 Dec 18, 2022
Workshop for student hackathons focused on IoT dev

Scenario: The Mutt Matcher (IoT version) According to the World Health Organization there are more than 200 million stray dogs worldwide. The American

Microsoft 15 Aug 10, 2022