The AlarmDecoder AD2PI also supports other embedded systems that can use TTL RS-232 such as the BeagleBone Black. It's a fairly simple process to wire everything up and configure the BeagleBone to communicate with your device.
What you need
- An AlarmDecoder AD2PI
- NOTE: The AD2PI pictured is a development board with an extra long pin header. You'll need to solder the connection or go in through the bottom.
- A BeagleBone Black
- Wires & solder
Steps
- Make sure your BeagleBone and AD2PI are disconnected from power and the panel, respectively.
- Connect the pins between CONN2 on the AD2PI and P9 on the BeagleBone Black. See the images on the sidebar if you need a visual reference.
- Connect power to your BeagleBone and boot it up.
- Enable UART5 (/dev/ttyO4) (instructions based on those found here)
- Create a file named enable-art5.dts containing the DTS script to enable UART5.
- Compile the device tree overlay:
- dtc -O dtb -o enable-uart5-00A0.dtbo -b O -@ enable-uart5.dts
- Copy the compiled file to /lib/firmware
- cp enable-uart5-00A0.dtbo /lib/firmware
- Enable the overlay:
- echo enable-uart5 >/sys/devices/bone_capmgr.*/slots
- Your device should now show up as /dev/ttyO4.
- Test your device:
- Open the serial port with screen:
- screen /dev/ttyO4 115200
- Confirm communication with the device by rebooting it with =.
- Exit screen by typing Ctrl+A+K.
| Conn | AD2PI CONN2 Pin | BeagleBone P9 Pin |
|---|---|---|
| GND | 6 | 1 |
| 3.3V | 1 | 3 |
| RX | 10 | 11 |
| TX | 8 | 13 |
DTS script
/*
* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;
/plugin/;
/ {
compatible = "ti,beaglebone", "ti,beaglebone-black";
/* identification */
part-number = "uart5";
fragment@0 {
target = <&am33xx_pinmux>;
__overlay__ {
pinctrl_uart5: pinctrl_uart5_pins {
pinctrl-single,pins = <
0x070 0x26 /* P9_11 = GPIO0_30 = GPMC_WAIT0 , MODE6 */
0x074 0x06 /* P9_13 = GPIO0_31 = GPMC_WPN, MODE6 */
>;
};
};
};
fragment@1{
target = <&uart5>;
__overlay__ {
status = "okay";
};
};
fragment@2 {
target = <&ocp>;
__overlay__ {
test_helper: helper {
compatible = "bone-pinmux-helper";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart5>;
status = "okay";
};
};
};
};


