【物联网 IoT 开发】使用 Arduino 和 Python在 Bluemix 上开发一个 IoT 应用程序之控制LE

               

上篇“【物联网(IoT)开发】Arduino 入门 Hello World(LED闪烁)”只是通过将一段程序烧录到Arduino开发板上控制LEC闪烁,没有任何连网动作,也就是说断开网络提供电源依然还可以工作。本文将介绍如何开发一个应用程序,以便使用适用于物联网 (Internet of Things, IoT) 的技术。我们的应用程序通过串口收集数据,将其存储在一个 Web 服务器上,然后在网页上实时显式结果,并可以在网页上控制LED的开关。

构建一个类似的应用程序的前提条件

对于第 1 部分,您需要:

一个 Bluemix 帐户,您还没有? 点击这里注册,已经有,点击这里登录

对 HTML(超文本标记语言)的基本了解;

对CSS (层叠样式表)的基本了解;

对JavaScript(一种直译式脚本语言)的基本了解;

Python 编程的基本了解;

MySQL数据库及管理工具的基本了解;

对SQL语言的基本了解;

对于第 2 部分,您需要:

一个 Arduino NANO 或其他兼容 Arduino 的主板

可选:Arduino Ethernet Shield

一个LED灯(发光二极管)

一些母母跳线(female-female jumper wire)

Python 2.7.x

我提供了所有必要代码,但对这些技术的基本了解有助于您理解有关的细节,但不是必须如此。

也无需拥有使用 Arduino 或任何其他类型的微型控制器主板的经验。

步骤 1. 创建您的Python应用程序

  1. 1、在 Bluemix 用户界面中,转至“仪表板”。

  2. 2、单击创建应用程序

  3. 3、单击 Web,然后按照指导经验来选择入门模板,指定名称以及选择编码方式。

  4. 输入应用程序名称

  5. 应用程序名称是唯一的,接下来要通过它做为二级域名来访问你的应用!
  6. 点击完成之后,需要等待一会儿,然后可以看到下图的界面

  7. 这时就可以访问你刚刚创建的应用了。如下图:

步骤 2. 添加数据库服务

  1. 可以通过单击 Bluemix 用户界面中应用程序“概述”上的添加服务或 API,将服务添加到应用程序中。也可以使用 cf 命令行界面。请参阅处理应用程序的可用选项

  2. 在服务列表中选择数据库(ClearDB MySQL Database)

  3. 您可以指定服务的名称,也可以使用默认的;

如果你事先已经创建了数据库服务,也可以直接绑定:


获取服务信息

 进入自己的应用程序》概述页面,找到已经添加的服务,点击“显示凭证”,可以查看服务的具体信息:

 

 拿到凭证,我们就可以通过MySQL的客户端管理工具来连接管理数据库了:

1、连接数据库

如果你还没有安装Navicat for MySQL管理工具,请参考:MySQL学习(二)图形界面管理工具Navicat for MySQL安装和使用


2、创建数据表

注意:我们是没有权限创建数据库的,只能用默认创建好的;


只需要创建一张非常简单的表,来保存状态和控制命令

SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for `led_status`-- ----------------------------DROP TABLE IF EXISTS `led_status`;CREATE TABLE `led_status``id` bigint(20) NOT NULL`status` varchar(10) DEFAULT NULL`control` varchar(10) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ------------------------------ Records of led_status-- ----------------------------INSERT INTO `led_status` VALUES ('1', '0', '0');

步骤 3. 准备开发环境及硬件环境

有关开发环境搭建的细节,请参考下面的文章:

《Python入门》Windows 7下Python Web开发环境搭建笔记

《Python入门》第一个Python Web程序——简单的Web服务器

《Python入门》Linux 下 Python Web开发环境搭建笔记

【物联网(IoT)开发】Arduino IDE(集成开发环境)下载及安装

【物联网(IoT)开发】Arduino NANO,UNO 驱动安装

 本文使用的硬件环境非常简单,请参考:

【物联网(IoT)开发】Arduino 入门 Hello World(LED闪烁)

步骤 4.编写代码

1、下载初始Hello World示例代码

你可以下载入门示例参考,也可以完全自己写!

进入您的应用程序,点击左侧的开始编码,在右侧点击“下载入门模板代码”。


也可以通过添加Git来下载代码。

2、使其在本地运行

1、将下载的入门模板代码解压到一个目录,打开命令行窗口,切换到这个目录下


可以看出代码结构是很简单的;

2、执行命令:python server.py

3、在浏览器中访问:http://localhost:8000/

3、编写代码

本文涉及到三部分代码

1)、烧录到Arduino开发板上的代码,用于接收串口的命令控制LED状态,并实时输出LED的状态

String blink_flag = "1";// the setup function runs once when you press reset or power the boardvoid setup() {  // initialize digital pin 13 as an output.  pinMode(2, OUTPUT);  Serial.begin(9600);}// the loop function runs over and over again forevervoid loop() {  String rx_buffer;  rx_buffer=Serial.readString();  if (rx_buffer.length() == 1){    blink_flag = rx_buffer;  }  if (blink_flag.compareTo("1")){    digitalWrite(2, LOW);   // turn the LED on (HIGH is the voltage level)    //delay(1000); 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值