initial commit
[4_Channel_Switcher] / README.md
1 # 4 Channel Switcher / LED stripe controller, Interplay Medium™ dendrite module (for ESP8266)
2
3 This is IM denrite module (remote wifi network device) created for [Interplay Medium™](https://interplaymedium.org) project.
4
5 ![Interplay Medium 4 Channel Switcher Dendrite](https://repository.interplaymedium.org/4_Channel_Switcher/IMG_2191.jpg)
6
7 ## Pinouts 
8
9 ![ESP8266 Pinout](https://repository.interplaymedium.org/RGBW%20Controller/esppinout_.png)
10 ![ESP8266 Programming](https://repository.interplaymedium.org/RGBW%20Controller/usbprogram_.png)
11
12 For SSR be sure to add MOSFETs and maybe current limiting resistors appropriately. Complete wiring scheme will be added later. 
13
14 ## Bidirectional MOSFET level shifter
15
16 To drive an addressable RGB strip along with ESP8266, you need to synchronize logical levels. 
17 I usually use a simple MOSFET solution for single-channel shifting, hovever for multi-channel management, I would recommend using a simple Logic Gate IC like 74HC08 (like in my HW design) or a level shifter such as TXB0104.
18
19 ![Bidirectional MOSFET level shifter](https://repository.interplaymedium.org/Serial_RGB/bidirectonal-mosfet-level-shifter.png)
20
21 ## Preparing the building environment
22
23 Make sure that you have the environment installed as described at
24
25 1. [makeEspArduino.mk](https://github.com/plerup/makeEspArduino.git)
26 2. [esp8266 Arduino SDK](https://github.com/esp8266/Arduino)
27
28 3. In the *make* script, change path for each variable approprately: 
29     MAKE_FILE=....
30     ESP_SDK_ROOT=....
31
32 ## Change your IM AXOD microserver or AP (router) WIFI login and password
33
34 create the file 
35     vim ../info
36
37 assign SSID and PASSWORD of your local IM AXOD microserver or Access Point in there
38
39     WIFI_SSID="ssid"
40     WIFI_PASS="ssid password"
41
42 You can change it later whenewer you want using HTTP interface
43
44 ## Building 
45
46 initial building and flashing firmware at once 
47  
48     ./make 4_Channel_Switcher upload
49
50 after that you can build the binary and uload it using remote HTTP interface
51
52     ./make 4_Channel_Switcher  
53     curl im_switch_MACLAST4DIGITS/update -F image=@4_Channel_Switcher.bin
54
55 ## Usage 
56
57 By default dendrite unit can be reached on "`im_switch_[last 4 digits of MAC address]`" 
58
59 Change the name of unit by
60
61     curl im_switch_[last 4 digits of MAC address]?host=NEWNAME
62
63 Turn on each even switches 
64
65     curl im_switch_[last 4 digits of MAC address]?switch=0101
66
67 Other options
68
69     curl im_switch_MACLAST4DIGITS/help
70
71 ## Todo 
72
73 The development of this firmware is in progress. Here is a brief list of upcoming changes: 
74
75 * add interface features (save, reset....)
76 * state return in 2 variants  
77     txt (default)  
78     JSON  
79     http UI  
80 * add commands  
81     dimm and soft state changing  
82     rgbwdef -- save default values in EEPROM, which is returning on reset command  
83   
84 * switching AP/slave, AP by defuault
85     remote access setup (host name, AP/slave, SSID, passw)  
86     save in EEPROM  
87
88 ## License
89
90 Copyright © 2016 Dmitry Shalnov [interplaymedium.org]
91
92 Licensed under the Apache License, Version 2.0 (the "License");
93 you may not use this files except in compliance with the License.
94 You may obtain a copy of the License at
95
96     http://www.apache.org/licenses/LICENSE-2.0
97
98 Unless required by applicable law or agreed to in writing, software
99 distributed under the License is distributed on an "AS IS" BASIS,
100 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
101 See the License for the specific language governing permissions and
102 limitations under the License.
103
104
Contact me: dev (at) shalnoff (dot) com
PGP fingerprint: A6B8 3B23 6013 F18A 0C71 198B 83D8 C64D 917A 5717