TranslateProject/sources/tech/20170705 No coding required Node-RED on a Raspberry Pi.md
2017-07-16 16:49:21 +08:00

104 lines
6.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

No coding required: Node-RED on a Raspberry Pi
============================================================
### Check out this tutorial to see how easy it is to set up hardware flows with Node-RED's drag-and-drop interface.
![No coding required: Node-RED on a Raspberry Pi](https://opensource.com/sites/default/files/styles/image-full-size/public/images/life/hardware_hammer_sign.jpg?itok=vh76LBib "No coding required: Node-RED on a Raspberry Pi")
Image by : 
Thomas Hawk on [Flickr][12]. [CC BY-NC 2.0][13]. Modified by Opensource.com
Node-RED is a programming tool that lets you quickly connect hardware devices using a browser-based editor. It comes with a wide range of nodes that can be used to build flows in a drag-and-drop manner, significantly reducing your development time. [Node-RED][14] is installed with Raspian Jessie for Raspberry Pi, and there is also an option to download Node-RED separately.
More on Raspberry Pi
* [Our latest on Raspberry Pi][1]
* [What is Raspberry Pi?][2]
* [Getting started with Raspberry Pi][3]
* [Send us your Raspberry Pi projects and tutorials][4]
To show you how it works, we'll build a simple tool using Node-RED to communicate with a cellular modem connected to a Raspberry Pi. With cellular modems, you can send/receive data from your Raspberry Pi over a cellular network. You can use one of the 3G/4G USB dongles commonly available through cellular network providers, or you can connect a development board with a 3G or 4G wireless modem.
Whether you're connecting with a USB dongle or a development board, the connection interface to the Raspberry Pi is through a USB port. In this tutorial, I'm connecting a [SIM900][15] development board to Raspberry Pi through a USB-to-serial converter cable.
### [node_red1.png][5]
![Connecting SIM900 to Raspberry Pi through a USB-to-serial converter cable](https://opensource.com/sites/default/files/u128651/node_red1.png "Connecting SIM900 to Raspberry Pi through a USB-to-serial converter cable")
The first step is to check that the SIM900 development board is connected to the Raspberry Pi.
### [node_red2a.png][6]
![Checking that the SIM900 development board is connected](https://opensource.com/sites/default/files/u128651/node_red2a.png "Checking that the SIM900 development board is connected")
The USB-to-serial adapter shows up here as one of the USB devices connected to the Raspberry Pi.
Next, check the USB port number the SIM900 board is connected to.
### [node_red3a.png][7]
![Checking the SIM900 board's USB port number](https://opensource.com/sites/default/files/u128651/node_red3a.png "Checking the SIM900 board's USB port number")
In the last line above, you can see that the SIM900 board (connected through the USB-to-serial converter) is connected to **ttyUSB0** on the Raspberry Pi. Now we're ready to start using Node-RED.
Launch Node-RED on the Raspberry Pi.
### [node_red4a.png][8]
![Launching Node-RED in Raspberry Pi](https://opensource.com/sites/default/files/u128651/node_red4a.png "Launching Node-RED in Raspberry Pi")
Download this [sample flow][16] and import it into Node-RED. Note that the flow file is a JSON representation of the graphical UI.
The imported flow should look like this in Node-RED:
### [node_red5.png][9]
![The imported flow in Node-RED](https://opensource.com/sites/default/files/u128651/node_red5.png "The imported flow in Node-RED")
Injection nodes set up [AT commands][17] required to query the modem. The **Add Newline**function node appends **\r\n** to the AT commands passed from the injection nodes. Output from **Add Newline** is then wired to the **Serial Out** node, which writes data to the serial port. The AT command response from the modem is read through the **Serial In** node, which outputs the response to the **Debug **window. Make sure the serial port number and port speed are configured in both the **Serial In** and **Serial Out** nodes.
Node-RED is an easy-to-use programming tool that can be used to quickly integrate and test hardware devices. As you can see from this tutorial, connecting and testing a cellular mode with Raspberry Pi using Node-RED required no coding at all.
For more information about Node-RED and other ways it can be used, visit [the project's website][18].
--------------------------------------------------------------------------------
作者简介:
Surya G - My interest is in software development for IOT projects especially those that uses cellular modems.
via: https://opensource.com/article/17/7/nodered-raspberrypi-hardware
作者:[ Surya G ][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://opensource.com/users/gssm2m
[1]:https://opensource.com/tags/raspberry-pi?src=raspberry_pi_resource_menu1
[2]:https://opensource.com/resources/what-raspberry-pi?src=raspberry_pi_resource_menu2
[3]:https://opensource.com/article/16/12/getting-started-raspberry-pi?src=raspberry_pi_resource_menu3
[4]:https://opensource.com/article/17/2/raspberry-pi-submit-your-article?src=raspberry_pi_resource_menu4
[5]:https://opensource.com/file/359036
[6]:https://opensource.com/file/359086
[7]:https://opensource.com/file/359091
[8]:https://opensource.com/file/359716
[9]:https://opensource.com/file/359056
[10]:https://opensource.com/article/17/7/nodered-raspberrypi-hardware?rate=NjMvod1gAOI2Tf9t0YLr-4tbe_K1XWfHWNjVkTkPuzU
[11]:https://opensource.com/user/137861/feed
[12]:https://www.flickr.com/photos/thomashawk/3048157616/in/photolist-5DmB4E-BzrZ4-5aUXCN-nvBWYa-qbkwAq-fEFeDm-fuZxgC-dufA8D-oi8Npd-b6FiBp-7ChGA3-aSn7xK-7NXMyh-a9bQQr-5NG9W7-agCY7E-4QD9zm-7HLTtj-4uCiHy-bYUUtG
[13]:https://creativecommons.org/licenses/by-nc/2.0/
[14]:https://nodered.org/
[15]:http://m2msupport.net/m2msupport/simcom-sim900-gprs-2g-module/
[16]:http://m2msupport.net/m2msupport/wp-content/themes/admired/Node-RED/modem_commands
[17]:http://m2msupport.net/m2msupport/software-and-at-commands-for-m2m-modules/
[18]:https://nodered.org/
[19]:https://opensource.com/users/gssm2m
[20]:https://opensource.com/users/gssm2m