BACnet is a data communication protocol for Building Automation and Control Networks. Developed by the American Society of Heating, Refrigerating and Air-Conditioning Engineers (ASHRAE), BACnet is a national standard in more than 30 countries around the world, and an ISO global standard. It was created to have a unified communication system for different devices across different manufacturers. Manufacturers of BACnet devices create a wide range of monitor and control modules, from basic IO, to analog, to specialized devices such as gas monitors.
TS-4100 Computer on Module powered by NXP i.MX6 UL Processor.
Feb 15, 2018 – Technologic Systems announced their latest Computer-on-Module, the TS-4100, has entered in to their engineering sampling program (see below for details). The TS-4100 is the first Technologic Systems Computer-on-Module to feature the NXP i.MX 6 UltraLite processor, featuring a single ARM Cortex A7 core, operating at speeds up to 695MHz. The NXP i.MX 6UL processors offer scalable performance and multimedia support, along with low power consumption. Technologic Systems allows you to take full advantage of the integrated power management module to optimize power sequencing throughout the board design to achieve 300 mW typical power usage, making this CoM perfect for embedded applications with strict power requirements. The TS-4100 is perfect for industrial embedded applications for medical, automotive, industrial automation, smart energy and many more applications.
Digi XBee radios sure are handy for wireless communication in embedded systems, so let’s take a look from a newbie perspective at how to get two of ‘em talking to each other quickly.
This tutorial can be applied generically to any setup with any two XBee radios, so long as you have them plugged in and ready to work with a serial port. That being said, this is a list of parts used in this tutorial:
- 2x Digi XBee Pro (XBP24-AWI-001) Radios
- Technologic Systems’ Part Number OP-XBEERADIO
- 1x SparkFun XBee Explorer USB
- 1x TS-7553-V2
- 1x USB Mini-B Cable
As far as software goes, we’re going to need to use the one and only Xbee programming tool, XCTU from Digi (Windows, Mac OS, and Linux). Although, I suppose if you were hardcore, you could program using raw AT commands at the console, but I doubt that’s a path you’re willing to take at this time!
We’ll start with installing the software, configuring the XBee radios, installing them, and finally get them talking to each other.
Digi XCTU Software
Installation of the Digi XCTU software should be straightforward enough. Head over to the XCTU download page, download it for your platform, and follow the install instructions.
Okay! Now, we’ll move onto hooking up the XBee radios using the XBee explorer breakout board and configuring them using our newly installed XCTU program.
Configuring the XBee Radios
Here’s where the rubber meets the road, so to speak! We’re going to break out the SparkFun XBee Explorer and program both of the XBee radios so they can talk to each other. All we need here is a USB Mini-B cable to connect the XBee Explorer in with our computer with XCTU installed. Grab one of the XBee radios and install it into the XBee explorer, then plug the XBee explorer into the USB cable connected to the computer.
With an XBee network like we’re setting up, there needs to be a coordinator and an end device. You can almost think about it as having a router and a computer.
- With an XBee network like we’re setting up, there needs to be a coordinator and an end device. You can almost think about it as having a router and a computer.
- We need both of the radios to be on the same channel and network, or PAN in this case.
- Every option is abbreviated with a two letter key. The ones we’re concerned with for this guide are:
- CH – Channel
- ID – PAN ID
- MY – 16-bit Source Address
- This is the address of the current device and can be any 16 bit number.
- DL – Destination Address Low
- DL is the address of the device you want to talk to, it can be any other 16 bit number other than MY.
- CE – Coordinator Enable
- BD – Interface Data Rate (Optional)
- CT – AT Command Mode Timeout (Optional)
- The XBee radios are programmed using AT commands over serial console. The XCTU program makes programming the XBee incredibly easy as it takes care of running all the AT commands transparently in the background.
Pro Tip: Save yourself some headaches and label your XBee radios in order to tell them apart. A piece of tape or tiny post-it note and permanent marker will do just fine. Label one with “C”, for “Coordinator” and the other with “ED”, for “End Device”. You could also write the MY, 16-bit Source Address, for extra clarity.
Program the Coordinator
Okay, let’s take our first XBee radio, which we’ll designate as our Coordinator (and will ultimately be installed in the TS-7553-V2), and open the “Configuration” window in XCTU. This is what you should be looking at:
Pro Tip: XCTU is pretty well designed, with handy little UI gems like a blue ‘dog ear’ triangle to mark which settings have changed from defaults. Firmware updates, updating individual settings, and more come in pretty handy. Be sure to familiarize yourself once you’re ready.
Here’s what we’re going to set on our coordinator:
CH, Channel = D
ID, PAN ID = DA
DL, Destination Address Low = BEEF
MY, 16-bit Source Address = BFFO
CE, Coordinator Enable = Coordinator 
These two configuration changes are optional, but if you do change them, make sure to set the same on both XBee radios. We found these additional settings make things run smoother and more responsive.
BD, Interface Data Rate = 57600 
CT, AT Command Mode Timeout = 1770
Once you’ve set these configurations, make sure to click on the “Write” button to save the changes to the XBee radio. Once it’s finished writing, go ahead and unplug the XBee Explorer and take out the XBee radio.
Installing the Coordinator
This is where our TS-7553-V2 comes into play. This guide is going to assume you’re already familiar with getting the TS-7553-V2 powered on and ready for development. If you’re not there yet, you can take a look at the “Practical Guide to Getting Started With the TS-7553-V2”. There’s a XBee socket on the TS-7553-V2 that shows up under the /dev/ttymxc7 serial device.
Before we can plug in our XBee radio, we need to remove or bend pin 8 of the XBee radio in order to avoid conflicts (to be fixed in a later revision).
Then, plugin the XBee radio we’ve designated as the coordinator like this:
Pro Tip: Make sure that the flat end of the XBee radio is facing back towards the USB and Ethernet connectors. Otherwise, you may do permanent damage to the XBee radio.
Then, let’s be sure that the XBee radio is powered on and ready to communicate. First, issue the command to make sure it’s turned on (it should be by default):
root@ts-imx6ul:~# echo 1 > /sys/class/leds/en-xbee-3v3/brightness
Then, let’s open a serial connection with the XBee radio using picocom, making sure that the baud rate is set to the same value as BD, Interface Data Rate on the XBee radios.
root@ts-imx6ul:~# picocom -b 57600 /dev/ttymxc7
Perfect! Now, we’re ready for the next step.
Program the End Device
Now, we’re going to install the second XBee radio into the XBee Explorer and then plug in the XBee Explorer into the computer. We’re going to designate this radio as our End Device. Do the same thing as before and click on the “Add devices” or “Discover devices” buttons to find your device and load up the “Configuration” window, like so:
Here’s what we’re going to set on our end device:
CH, Channel = D
ID, PAN ID = DA
DL, Destination Address Low = BFF0
MY, 16-bit Source Address = BEEF
CE, Coordinator Enable = End Device 
And again, these are optional, but they must be the same on both devices.
BD, Interface Data Rate = 57600 
CT, AT Command Mode Timeout = 1770
Great! Now, we’re going to leave this one plugged into the XBee explorer for the next step.
Time to Start Talking!
Now, the exciting part, communicating wirelessly over a serial port provided by the XBee radio. We start off by going back to our XCTU program where we left off and open the “Console” window, like so:
We’re now going to send a packet to the coordinator installed in our TS-7553-V2 from our end device. Click on the plus icon (+) next to the “Send packets” field. Here, type in your ASCII message. Something as simple as “Testing” will work. Save the packet once finished. Then, select the new packet and click on the “Send selected packet” button. Head over to the TS-7553-V2 picocom session we opened earlier and you should now see “Testing” written on the screen! Start typing in picocom, like “Testing back!”, and you should see the message being written in the Console log field of the XCTU program!
Congratulations on setting up your wireless serial console connection! You’re well on your way to creating something awesome using XBee radios!
Conclusion and Next Steps
In this guide, we walked through what it took to install, configure, and wireless transfer data over two XBee radios. Now that you have the basics out of the way, it’ll be time to dive into a wireless XBee world with different topologies and configuration options.
If you have any further questions, or feel like we’ve forgotten to mention anything, please let us know in the comments below!
CES 2018 is in the bag. There were some highs and lows as the show continues to grow and slowly encompass the entire Vegas Strip. This is my unofficial awards ceremony for this years CES.
Most Omni-Present Tech
Google. Google, everywhere. This CES was definitely the battle of the virtual assistant market share and “hey google” was making a big splash. From wrapping the monorail to banners covering entire buildings to the oompa-loompah like assistants running all around the show it was hard to get away from Google. However, while Google had the crown for the most marketing materials it seemed like developers were leaning more towards Alexa in the vendor booths.
Runner Up (tie)
Screens. It’s no surprise for a show that started partially as a showcase for televisions that screens are still king at CES. From the massive LG OLED canyon to wafer thin screens that worn as watches, there were screens of all shapes, sizes and clarity were everywhere.
Robots. Every shape, style and size of robot was on display. From autonomous two wheel “tank” bots cruising the aisles to small desktop balancing robots responding to voice commands the robots were at CES in a big way this year. My personal favorite was Buddy, who looked like he came straight out of a Pixar movie.
Line I Wish I Stood In
Teslasuit. There were a lot of VR/AR experiences and a line to go with everyone of them. However, the standout seemed to be the Teslasuit full haptic feedback suit and I wish I would have experienced that one first hand. Next year.
Most Impressive Demonstration
For this one you had to go to the mydevices suite in Mandalay Bay. If you were lucky enough to get invited you saw Benny Estes, product manager for mydevices put together a complete working sensor suite from scratch. Using auto-discovery and QR codes Benny took devices out of the box and had them online and reporting to a central dashboard in a matter of seconds. Truly inspiring to see how quickly you could deploy and the variety of sensors you can have available.
Mother Nature. In the first two days of CES Vegas get one quarter of their annual rainfall. Flooded parking garages, puddles and disabled outdoor escalators were just some of the downsides to this water show. Soggy shoes and walking 18,078 steps is a bad combo. The power outage in north hall on day 3 was also attributed to the rains.
There was a lot of the typical swag at CES this year, as to be expected, but for me a few booths stood out. CNET provided hand screened canvas bag made to order while you wait. I went with the timeless 70s logo, mainly because my other selection “so many gadgets, so little time” was too popular.
A pill you ingest to help you predict and notify you when you are going to experience flatulence. Not sure if you get a text, or how you are notified of the pending eruption. Taking the Internet of Things a bit too far?
Security. This show is massive. Almost unimaginably massive. It has a footprint spanning from the LVCC to the Aria with stops everywhere in between, and is even larger if you count vendor suites. The security was amazing. Omnipresent, but not intrusive you were never far from help but also never standing in long lines for bag searches. Incredibly well choreographed and coordinated from the K9, to LVPD, to the convention center security they were hitting on all cylinders. #vegasstrong
Monorail. My personal favorite mode of travel the monorail kept whisking attendants away to the next venue or to the after parties on a smooth schedule and even at peak hours never seemed over crowded.
Favorite Non-CES Moment
I ran into Caesar’s Forum shops to get out of the rain and saw an Optimus Prime sculpture in a storefront. I took a picture and sent it to my son, who is currently an Optimus fan. When I got home I asked if he got the picture and my son said that he had and asked me, “He’s not real, is he?” and thanks to being to CES 2018 I could answer the question truthfully, “Not yet.”
This practical guide gives us an opportunity to take a relaxed approach to getting started with the TS-7670 single board computer. We’re going to take a look at how to make our first connections, and setup the network. These are usually the first things we do before starting development. In the grand scheme of things, this is just a friendlier extrapolation from the official TS-7670 manual, so be sure to keep it handy for more advanced topics and specific details. The only assumption being made is that you’ve purchased the TS-7670 with a development kit, including the pre-programmed microSD card. Right then, let’s get started!
One big draw to the TS-7670 is the GPS receiver feature. When paired with a wireless network, such as through WiFi or cellular, it becomes a powerful tool in asset tracking or geo surveying. In this quick guide, we’re going to go through what it takes to get GPS working and how to read the data.
Print Your Own Baseplate for Development and Prototyping
A new development baseplate and accessories for the TS-7670, TS-7680, and TS-7970 are now available for 3D printing. The main baseplate features standoffs for securing the single board computer (SBC), clip mounts for cable management, and tabs for attaching accessory boards. The accessory boards include a full sized breadboard mounting plate, and two (vertical and horizontal) half-sized breadboard mounting plates with compartments for organizing resistors and components. Two different sized cable clips are also included. You can download the STL files for 3D printing by referring to the product webpage in the resources tab, or directly here:
EECatalog.com both published and featured the second of a multi-part article “HALT 2: Preparation is Everything“, written by our very own Alan Brown, Marketing Communications Manager. In it, he covers tips, tricks, and lessons learned as Technologic Systems prepared for and underwent HALT. Be sure to take a look!
Check out this project from Daedalus Technology Group using a TS-7250-V2 to weigh and track penguins in Antarctica!