Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
acab:setup [2013/03/21 00:45] 2001:a60:2324:2501:21f1:3374:84:ac72acab:setup [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1
Line 1: Line 1:
-====== ACAB Setup Instructions ====== 
- 
-The goal of this page is to gather all information needed to set up an ACAB installation from the ground up. 
- 
-===== Hardware ===== 
- 
-The currently used hardware can be found at https://github.com/schneider42/moodlamp-rf 
- 
-The board and schematic used for the ACAB installations are board/buslamp.{brd,sch} and are designed with EAGLE. 
- 
-The hardware uses RS484 to signal data to the lamps and a 24 V to 28 V supply voltage. Both the RS484 signal and the supply voltage 
-are carried on a single cable. To keep the cost down standard Cat 5 network cables are used. 
- 
-To communicate with the host computer, the RS484 interface has to be adapted to another interface. The device described by board/ub.{brd,sch}. 
-It is intended to be used with our IPv6 home automation project, but can also be used to act as an USB to RS485 bridge. 
- 
-===== Software ===== 
-==== RS485 Bridge ==== 
-The software for the RS485 bridge can be found inside the rs485bridge/ directory. It translates frames from a normal serial connection to 
-the RS485 bus used by the system. When used with the device mentioned above, it can be used to connect an ACAB installation to a PC. 
- 
-To program the RS485 bridge: 
-  cd rs485bridge 
-  make 
-  make fuse 
-  make program 
-==== Bootloader ==== 
- 
-The bootloader for the boards can be found at https://github.com/schneider42/moodlamp-rf inside the ubloader/ directory. 
- 
-The bootloader is used to update the firmware of the lamps while they are inside an installation and therefore inaccessible. 
-It consists of a small bootloader program, running on the lamps, and a set of Python and bash scripts to upload new firmware to the lamps. 
- 
-The bootloader can upload new firmware to a lamp and program arbitrary parts of the EEPROM. To single out a lamp on the bus and only program a single one, 
-the bootloader can be used to compare an arbitrary section of the EEPROM to data transmitted via the bus. 
- 
-The scripts use this feature to select a single lamp after all lamps performed a power on reset. 
- 
-To flash lamps which have not yet a unique EEPROM content, the bootloader can be forced to consider the lamp selected. 
- 
-=== Scripts === 
-  ./select-m644p [<ID>] 
-Starts to send the select command to the bus. If a lamp with a bootloader reboots and has the corresponding id programmed, 
-it will get selected. If no id is supplied any lamp on the bus will get selected. After a lamp got selected, the scripts returns. 
-If a lamp got selected, it turns green. If a lamp is not selected it stays red. 
- 
-  ./set-m644p <ADDRESS> 
-Sets the address of a lamp to <ADDRESS>. <ADDRESS> must be a hexadecimal number greater 0x10. Addresses smaller than 0x10 are used for 
-multicast addressing. Example: set-m644p 5B 
- 
-  ./flash-m644p <BINARY> 
-Loads the binary at <BINARY> directory and sends it to the lamp. 
- 
-  ./boot-m644p 
-Starts the program inside the selected lamp. This command always return with a timeout. 
- 
-=== Usage === 
-== If a new lamp needs to be configured and flashed == 
-Flash the bootloader to the lamp: 
-  cd ubloader 
-  make 
-  make fuse 
-  make program 
-   
-Compile the moodlamp firmware: 
-  cd moodlamp-bus 
-  make 
- 
-Connect the RS485 bridge with the lamp and apply 24V power to the lamp. The lamp starts to light up red. 
-  cd ubloader 
-  ./select-m644p 
-  ./set-m644p <ADDRESS>   #use a different address for each lamp! 
-  ./flash-m644p ../moodlamp-bus/fnordlicht.bin 
-  ./boot-m644p 
- 
-== If a single lamp needs to be flashed with new firmware == 
-Compile the moodlamp firmware: 
-  cd moodlamp-bus 
-  make 
- 
-Start to select any lamp: 
-  cd ubloader 
-  ./select-m644p 
-   
-Connect the RS485 bridge to the lamp and apply 24V power to the lamp. The lamp turns green. 
-  ./flash-m644p ../moodlamp-bus/fnordlicht.bin 
-  ./boot-m644p 
- 
-The lamps should now boot the new firmware. 
- 
-== If a lamp is inside an installation and needs new firmware == 
-Compile the moodlamp firmware: 
-  cd moodlamp-bus 
-  make 
- 
-Start to select the specific lamp 
-  cd ubloader 
-  ./select-m644p <ADDRESS>  #Example: ./select-m644p "\x5A" 
- 
-Toggle the power of all lamps, The specified lamp turns green and the script returns. 
- 
-Flash the new firmare: 
-  ./flash-m644p ../moodlamp-bus/fnordlicht.bin 
-  ./boot-m644p 
- 
-==== ACAB daemon ==== 
- 
-The ACAB daemon receives a stream of animation data via UDP and forwards it to the ACAB installation. It can control multiple RS485 bridges, connected to multiple sets of ACAB lamps. 
- 
-The daemon can be found at https://github.com/muccc/acab-streetlife 
- 
-It is located inside the server/ directory. There are two submodules: The acabslserver and the acabslrouter. 
- 
-=== Animation Streams === 
-TODO: explain the UDP packet format 
- 
-=== acabslrouter === 
- 
-The acabslrouter accepts a stream of animation data and forwards the data to an acabslserver instance which controls a particular part of the installation. This makes it possible 
-to control an installation with more than one wall of lamps. The acabslrouter also supports different priorities and timeouts for different streams. This can be used to display an idle animation when 
-no other animation is active or overlay an active animation with some interactive game. 
-== Configuration == 
- 
-=== acabslserver === 
-The server accepts a stream of animation data via UDP. If the stream modifies the state of a pixel which is controlled by the acabslserver, the server will translate the command to a command used by the lamps and will pass it to the appropriate RS484 bridge, associated with this pixel. 
- 
-== Configuration == 
- 
- 
- 
-==== Animation Scheduler ==== 
- 
- 
-==== Animation Scripts ==== 
-=== Static === 
-=== Sound controlled === 
-=== Interactive === 
- 
- 
  
  • acab/setup.1363826745.txt.gz
  • Last modified: 2021/04/18 12:32
  • (external edit)