mirror of
https://github.com/anklimov/lighthub
synced 2025-12-07 20:29:50 +03:00
Merge branch 'develop' of https://github.com/anklimov/lighthub into develop
This commit is contained in:
111
README.md
111
README.md
@@ -7,11 +7,14 @@ It may operate both:
|
||||
|
||||
Lighthub allows connecting together:
|
||||
* Contact sensors (switches, buttons etc)
|
||||
* Analog sensors (Leak detectors, Knobs etc)
|
||||
* 1-Wire temperature sensors (up to 20 on single bus)
|
||||
* Standard nonexpensive Relay board with TTL inputs, [like this](https://aliexpress.com/item/16-Channel-20A-Relay-Control-Module-for-Arduino-UNO-MEGA2560-R3-Raspberry-Pi/32747887693.html) to control AC powered lamps, floor heaters, boilers etc
|
||||
* [Standard nonexpensive LED dimmers](https://aliexpress.com/item/30-channel-27channel-Easy-DMX-LED-controller-dmx-decoder-driver-rgb-led-controller/2015743918.html) and [AC DMX-512 dimmers](https://aliexpress.com/item/DMX302-led-DMX-triac-dimmer-brightness-controller-AC90V-240V-Output-3channels-1A-CH-High-voltage-led/32822841266.html)
|
||||
* Standard nonexpensive Relay board with TTL inputs, [like this](http://ali.pub/2zlosh) to control AC powered lamps, floor heaters, boilers etc
|
||||
* [Standard nonexpensive LED dimmers](http://ali.pub/2zlokp) and [AC DMX-512 dimmers](http://ali.pub/2zlont)
|
||||
* Modbus RTU devices (Currently, are deployed two types of Modbus devices: AC Dimmer and Ventilation set (Based on [Vacon 10 controller](http://files.danfoss.com/download/Drives/Vacon-10-Quick-Guide-DPD00714F1-UK.pdf))
|
||||
* Simple DMX wall sensor panel [like this](https://aliexpress.com/item/New-Ltech-D8-LED-rgb-RGBW-touch-panel-controller-DMX512-controller-DC12-24V-4-zones-4/32800199589.html)
|
||||
* Simple DMX wall sensor panel [like this](http://ali.pub/2zlohe)
|
||||
|
||||
[List of non-expensive compatible components from AliExpress here](http://ppv.alipromo.com/custom/promo.php?hash=pjagwaovaero6vkeabjpkpvy4gznbgkc&landing_id=39661)
|
||||
|
||||

|
||||
|
||||
@@ -30,106 +33,27 @@ Scalability of Lighthub is virtually unlimited: Setup so many controllers you ne
|
||||
* [Channel commands](https://github.com/anklimov/lighthub/wiki/Channel-commands)
|
||||
* [OpenHab integration](https://github.com/anklimov/lighthub/wiki/OpenHab--integration)
|
||||
|
||||
Finished portation of project to Arduino DUE and ESP8266 (ESP32 not tested).
|
||||
|
||||
Compiled image has been added to [compiled/](https://github.com/anklimov/lighthub/tree/master/compiled) folder. Flash your Mega 2560
|
||||
|
||||
```bash
|
||||
avrdude -v -V -patmega2560 -cwiring -b115200 -D -Uflash:w:firmware.hex:i
|
||||
```
|
||||
|
||||
or flash your DUE (need to correct path and port, of course)
|
||||
```bash
|
||||
/Users/<user>/Library/Arduino15/packages/arduino/tools/bossac/1.6.1-arduino/bossac -i -d --port=cu.usbmodem1451 -U false -e -w -v -b firmware.bin -R
|
||||
```
|
||||
Note: binary images usually not up-to-date with recent code. The preferred way, to compile and upload firmware to your controller.
|
||||
|
||||
# Dependencies
|
||||
(quite big number of libs required. Use git clone to have your local copy in your Arduino libs folder)
|
||||
Please check updates for all dependences.
|
||||
|
||||
For patched libraries, appropriate GitHub repo URL provided:
|
||||
|
||||
* Arduino-Temperature-Control-Library https://github.com/anklimov/Arduino-Temperature-Control-Library
|
||||
* DS2482_OneWire https://github.com/anklimov/DS2482_OneWire
|
||||
* FastLED
|
||||
* Wire (standard)
|
||||
* Artnet https://github.com/anklimov/Artnet.git
|
||||
* DmxSimple https://github.com/anklimov/DmxSimple (for AVR) or https://github.com/anklimov/ESP-Dmx (for ESP) or https://github.com/anklimov/DmxDue (for DUE)
|
||||
* HTTPClient (for AVR) https://github.com/anklimov/HTTPClient or https://github.com/arduino-libraries/ArduinoHttpClient for other platforms
|
||||
* aJson https://github.com/anklimov/aJson
|
||||
* CmdArduino https://github.com/anklimov/CmdArduino
|
||||
* EEPROM (standard for AVR) or DueFlashStorage for DUE: https://github.com/sebnil/DueFlashStorage
|
||||
* ModbusMaster https://github.com/anklimov/ModbusMaster
|
||||
* pubsubclient-2.6
|
||||
* DMXSerial-master (for AVR) https://github.com/anklimov/DMXSerial
|
||||
* Ethernet https://github.com/anklimov/Ethernet
|
||||
* SPI (standard)
|
||||
|
||||
Portation from AVR Mega 2560 to SAM3X8E (Arduino DUE) done since v 0.96 and tested against Wiznet 5100 Ethernet shield and Wiznet 5500 Ethernet module
|
||||
|
||||
# Platforms specific details:
|
||||
|
||||
AVR version is basic, long time in production and have all functions
|
||||
*DMX-out is software (DMXSimple) on pin3
|
||||
**AVR** version (Arduino Mega) is basic, long time in production and have all functions
|
||||
* DMX-out is software (DMXSimple) on pin3, can be re-defined to PIN 18 (USART1 TX)
|
||||
* DMX-in - hardware
|
||||
* WIZNET 5100 and 5500 Ethernets are supported
|
||||
* Modbus on USART2
|
||||
|
||||
**SAM3X8E**: (Tested. In production. Recomended hardware at current moment)
|
||||
**SAM3X8E** (Arduino DUE): (Tested. In production. Recomended hardware at current moment)
|
||||
* default PWM out frequency
|
||||
* both, DMX-in and DMX-out are hardware USART based. Use USART1 (pins 18 and 19) for DMX-out and DMX-in
|
||||
* WIZNET 5100 and 5500 Ethernets are supported
|
||||
* Modbus on USART2
|
||||
|
||||
**ESP8266**: (Developed but not tested in production)
|
||||
**ESP8266**: (Developed, working, but not tested in production)
|
||||
* DMX-OUT on USART1 TX
|
||||
* DMX-IN - not possible to deploy in ESP8266
|
||||
* DMX-IN - disabled - not possible to deploy in ESP8266
|
||||
* Modbus - disabled. Might be configured in future on USART0 instead CLI/DEBUG
|
||||
|
||||
since v. 0.97:
|
||||
Mega and DUE:
|
||||
Need to use compiler directive -D Wiz5500 and https://github.com/anklimov/Ethernet2 library to compile with Wiznet 5500 instead 5100
|
||||
|
||||
Prefered way to compile project is using platformio toolchain, suitable for Arduino Due, and Arduino Mega2560
|
||||
|
||||
# Due compilation issue "USART0_Handler redefinition"
|
||||
Please, open /variants/arduino_due_x/variant.cpp file, then add USART0_Handler method definition like this
|
||||
```
|
||||
void USART0_Handler(void) __attribute__((weak));
|
||||
```
|
||||
|
||||
The normal path to find this file in platformio is:
|
||||
.platformio/packages/framework-arduinosam/variants/arduino_due_x
|
||||
|
||||
# Platformio command line build instructions
|
||||
[First of all install platformio framework.]( http://docs.platformio.org/en/latest/installation.html) [Good tutorial for fast start in RUSSIAN.](https://geektimes.ru/post/273852/)
|
||||
|
||||
In linux\OSX you can open terminal, navigate to your programming directory, then
|
||||
|
||||
```bash
|
||||
git clone https://github.com/anklimov/lighthub.git
|
||||
cd lighthub
|
||||
```
|
||||
now prepare project files for your IDE
|
||||
```bash
|
||||
pio init --ide [atom|clion|codeblocks|eclipse|emacs|netbeans|qtcreator|sublimetext|vim|visualstudio|vscode]
|
||||
```
|
||||
Set custom build flags. first make your own copy of template
|
||||
```bash
|
||||
cp build_flags_template.sh my_build_flags.sh
|
||||
```
|
||||
then edit, change or comment unnecessary sections and source it
|
||||
```bash
|
||||
source my_build_flags.sh
|
||||
```
|
||||
build and upload firmware for due|megaatmega2560|esp8266 board
|
||||
```bash
|
||||
pio run -e due|megaatmega2560|esp8266 -t upload
|
||||
```
|
||||
Clean pio libraries folder. Try it if you have compilation problem:
|
||||
```bash
|
||||
rm -Rf .piolibdeps
|
||||
```
|
||||
open COM-port monitor with specified baud rate
|
||||
```bash
|
||||
platformio device monitor -b 115200
|
||||
```
|
||||
**ESP32**, **NRF52840** : Still early development stage
|
||||
|
||||
# Custom build flags
|
||||
|
||||
@@ -183,4 +107,3 @@ platformio device monitor -b 115200
|
||||
* SYSLOG_ENABLE disabled
|
||||
* WITH_PRINTEX_LIB diabled, using Streaming library
|
||||
|
||||
If you've using Arduino IDE to compile & flash firmware, it will use Default options above and you will not able to configure additional compilers options except edit "options.h" file
|
||||
|
||||
Reference in New Issue
Block a user