MYS-6ULX-IOT 开发板测评——实现简单的物联网应用
前面,我们在 MYS-6ULX-IOT 开发板上成功地驱动了 RTL8188 WiFi 模块,也为 MYS-6ULX-IOT 的系统增加了 curl 命令。接下来,我们就来通过这个 WiFi 模块连接云端实现一个最简单的物联网应用。
提供 Web API
在本示例中,我的 web 服务器部署在阿里云上,大家也可以通过局域网内的服务器进行实验。
Web 服务器实现了 HTTP 和相关的 TCP 连接处理,同时具有 web 资源管理等功能。常见的 Web 服务器有 Nginx、Apache、IIS(Windows),而嵌入式领域则通常采用轻量级的 lighttpd、thttpd、minihttpd 等等。
这里,我们实现一个物联网的点灯实验。在我的服务器上创建了一个 JSON API,它的内容如下:
{"led": true
}
在 MYS-6ULX-IOT 端,我们尝试用 curl 去获取这个 API:
# curl http://www.luckydarcy.top/2018/iot/api.json
{"led": true
}
很棒,看起来已经获取到云端数据了!
Python 实现连接
实际上,上述的 api.json 为我们提供的是 LED 的状态信息,我们的目的是让设备通过 Web API 实现 LED 的亮/灭操作。因此,我们要编写程序实现 HTTP 请求,并从中解析 LED 的状态。
MYS-6ULX-IOT 的 Base 系统已经包含了 Python2.7,那么简单起见,我们这里用 Python 来实现。示例程序如下:
# cat led.py
import urllib2
import json
import os, timewhile True:results = urllib2.urlopen('http://www.luckydarcy.top/2018/iot/api.json').read()status = json.loads(results)['led']if status == True:print "Light ON"os.system("echo 1 > /sys/class/leds/user/brightness")else:print "Light OFF"os.system("echo 0 > /sys/class/leds/user/brightness")time.sleep(3)
首先使用 urllib2.urlopen 发起 HTTP 请求;然后使用 json.loads 解析 api.json,获取 LED 状态值;最后通过 os.system 调用本地 Shell 命令,对 LED 的文件 I/O 进行操作。为了降低请求频率,对每次请求增加了3秒的延时。
好啦,我们在 MYS-6ULX-IOT 开发板运行 python led.py
看看。
安装 json 模块
很遗憾,出现了 “ImportError: No module named json” 这样的错误,显然是因为当前系统没有 json 模块所造成的。然而,也没有 pip,所以我们需要手动安装 json 模块了。
登录 https://pypi.org/ 查找 json 模块,这里我们安装的是 simplejson,选择下载源代码 simplejson-3.15.0.tar.gz。
在 MYS-6ULX-IOT 开发板上解压缩 simplejson-3.15.0.tar.gz,进入目录 simplejson-3.15.0,然后执行以下命令安装即可:
python setup.py install
测试
别忘了,我们还要将 import json
修改为 import simplejson as json
。
然后再次执行,可以看到终端打印“Light ON”,并且 MYS-6ULX-IOT 开发板上的蓝色 USER LED 亮起来了。登录服务器将 api.json 修改为 "led": false
,此时终端打印“Light OFF”,并且 LED 灭。
# python led.py
Light ON
Light ON
Light ON
Light OFF
Light OFF
嗯哈!这样,我们就实现了一个简单的物联网应用啦~
MYS-6ULX-IOT 开发板测评——实现简单的物联网应用相关推荐
- MYS-6ULX-IOT 开发板测评——面向高端物联网的极具性价比解决方案
上周在爱板网成功申请了 MYS-6ULX-IOT 开发板的试用,收到米尔科技的 MYS-6ULX-IOT 开发板之后,嗯-比我想象中的要小巧,包装盒不大,也没有搭配过多的配件. 打开盒子一看,里面除了 ...
- 2021物联网开发学习——基于小熊派IoT开发板Bear-Pi-IOT、E53_IA1_智慧农业拓展板与小熊派-鸿蒙·季Bear-Pi-HM Nano并接入Hi-Link
2021物联网开发学习--基于小熊派IoT开发板Bear-Pi-IOT.E53_IA1_智慧农业拓展板与小熊派-鸿蒙·季Bear-Pi-HM Nano并接入Hi-Link 目录 作者介绍 目的 用到的 ...
- 【致敬未来的攻城狮计划】--RA2E1 开发板测评(2)LED闪烁
前言 (1)首先感谢 李肯前辈的活动,从而申请到了RA2L1开发板的测评. (2)注意,学习本文之前要学习 瑞萨Renesas RA2L1 开发板测评(1)--keil环境配置: (3)我们拿到开发板 ...
- UDI Tegra K1 SOC安卓游戏开发板测评
UDI Tegra K1 SOC安卓游戏开发板测评 据我所知,优地科技的这款开发板是业内首款基于NVIDIA 的Tegra K1主芯片的安卓嵌入式高性能计算开发板,它的强大之处,可能只有亲自体验才能真 ...
- AB32开发板测评:GPIO控制RGB彩灯
文章目录 [AB32VG1]开发板测评:RGB彩灯 一.初始准备 1.硬件平台 2.软件平台 二.操作步骤 1.RTT环境生成 2.RTT程序编写 3.程序下载,观察现象 三.心得 [AB32VG1] ...
- 【致敬未来的攻城狮计划】--RA2E1 开发板测评(4)UART通讯
前言 (1)首先感谢 李肯前辈的活动,从而申请到了RA2L1开发板的测评. (2)学习本文之前要具备的知识: [致敬未来的攻城狮计划]--RA2E1 开发板测评(1)keil环境配置: [致敬未来的攻 ...
- 华为认证物联网开发利器:小熊派IoT开发板
今年8月份我和小伙伴们协同研发的基于NB-IoT的智慧路灯监控系统有幸入选华为开发者大赛IoT赛道决赛,决赛期间留意到70%以上的个人/学生开发者团队都使用到华为认证(匹配HCIP:华为认证ICT高级 ...
- 小熊派IoT开发板系列教程正式发布——免费学习
小熊派介绍 小熊派IoT开发板一款由南京厚德物联网有限公司联合华为技术有限公司基于STM32L431RCT6设计的高性能物联网开发板.开发板充分考虑物联网感知层设备的多样性,具有强大的可扩展性,用于提 ...
- 鸿蒙IOT开发板 小熊派上手体验
鸿蒙IOT开发板 小熊派上手体验 一.简介 二. 上手搭建开发环境 1. 准备开发工具 2. 使用VMWare 创建虚拟机 4. 设置磁盘映射 5. 在ubuntu里获取源码 6. 编译代码 三.连接 ...
- 海图SD3403开发板测评
今天给大家带来一款高性价比的嵌入式开发板测评--海图HT-SD3403.这是一款基于SD3403芯片设计的嵌入式开发板,最近使用的人很多啊,笔者这里也是买了一块,我们来看一下,他的具体的情况. 首先, ...
最新文章
- 如何设计Lighthouse定位接收电路
- Druid 执行时间分布规则
- UNITY_MATRIX_IT_MV[Matrix]
- MySQL 优化原理(三)
- Jquery中表单序列化提交到后台是怎样进行URL解码查看参数
- (18)css常用样式—定位属性
- ELAS_ROS算法在KITTI数据集上生成稠密点云
- python椭圆花瓣_python之花瓣美女下载详解
- Laravel框架从零搭建
- 软件人员kpi制定模板_软件科技公司绩效考核办法模板.doc
- hdu5773 The All-purpose Zero(DP)
- 可口可乐市场调查失败的原因_经典案例可口可乐一次市场调研失败的教训
- 超简单的visio安装教程——史上最简单(office版本不撞车)
- AD中PCB板设计中如何将正反面相互对调
- 小白如何启动Vue项目?
- Linux基本命令---Linux进程管理指令
- macbook pro下安装三系统
- 计算机导论第二章习题答案,计算机导论课后习题答案.doc
- android activity 后的形式 藏
- SDN-OpenFlow1.0协议分析