kylinpoet 发表于 2018-9-4 00:59:10

micro:bit × OBLOQ挑战赛第三轮——本地物联网关

本帖最后由 kylinpoet 于 2018-9-4 01:09 编辑

### micro:bit × OBLOQ挑战赛第三轮——本地物联网关

#### 【项目介绍】

物联技术(IoT)开启了科技使人更快乐的大门。本次micro:bit+OBLOQ比赛第三轮的目标是运用多种技术实现,物联网关本地化,从而使得物联操作技术更人性化,更流程化。

#### 【项目准备】

##### 硬件

micro:bit×1
DF micro:mate扩展板×1
DF OBLOQ物联网模块×1
LED灯×2
电脑×1

#### 软件

python 3.6
python flask库
python pyecharts库
pycharm 2018.2

#### 【项目准备】

##### 1.效果演示



用python的flask库,编写本地的web服务端。主要任务是将microbit提交的数据存储在本地sqlite数据库,并利用百度提供的开源图表库进行数据的可视化展示。其主要源码如图.





除了数据的展示外,还可以通过网页端直接控制家庭设备的开关。为了演示方便这里用两个LED灯作为演示。



(鉴于时间关系,这里没有做过多地美化,请见谅)其代码如下图:



##### 2.安装相应软件

访问[www.python.org]()下载最新的python版本即可



安装完成后,在命令提示符运行python包管理工具pip安装相应文件库:

```
pip install flask
pip install pyecharts
```

使用趁手的工具导入如下sql文件,建立sqlite数据库

```sql
/*
Navicat Premium Data Transfer

Source Server         : ow_noise
Source Server Type    : SQLite
Source Server Version : 3021000
Source Schema         : main

Target Server Type    : SQLite
Target Server Version : 3021000
File Encoding         : 65001

*/

PRAGMA foreign_keys = false;

-- ----------------------------
-- Table structure for sensorlist
-- ----------------------------
DROP TABLE IF EXISTS "sensorlist";
CREATE TABLE "sensorlist" (
"sensorid" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
"sensorname" TEXT,
"maxvalue" integer DEFAULT 0,
"minvalue" integer DEFAULT 0
);

-- ----------------------------
-- Records of sensorlist
-- ----------------------------
INSERT INTO "sensorlist" VALUES (1, 'dht11温度', 90, 30);

-- ----------------------------
-- Table structure for sensorlog
-- ----------------------------
DROP TABLE IF EXISTS "sensorlog";
CREATE TABLE "sensorlog" (
"logid" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
"sensorid" INTEGER,
"sensorvalue" real,
"updatetime" text DEFAULT (strftime('%Y-%m-%dT%H:%M:%S',datetime('now', 'localtime')))
);

-- ----------------------------
-- Records of sensorlog
-- ----------------------------
INSERT INTO "sensorlog" VALUES (110, 1, 65.0, '2018-05-06T21:17:40');
INSERT INTO "sensorlog" VALUES (111, 1, 100.0, '2018-05-06T21:17:52');
INSERT INTO "sensorlog" VALUES (112, 2, 25.0, '2018-05-06T21:17:56');

-- ----------------------------
-- Table structure for sqlite_sequence
-- ----------------------------
DROP TABLE IF EXISTS "sqlite_sequence";
CREATE TABLE "sqlite_sequence" (
"name",
"seq"
);

-- ----------------------------
-- Records of sqlite_sequence
-- ----------------------------
INSERT INTO "sqlite_sequence" VALUES ('sensorlist', 1);
INSERT INTO "sqlite_sequence" VALUES ('sensorlog', 112);

-- ----------------------------
-- Auto increment value for sensorlist
-- ----------------------------
UPDATE "sqlite_sequence" SET seq = 1 WHERE name = 'sensorlist';

-- ----------------------------
-- Auto increment value for sensorlog
-- ----------------------------
UPDATE "sqlite_sequence" SET seq = 112 WHERE name = 'sensorlog';

PRAGMA foreign_keys = true;

```

完成后,可使用python自带的idle打开源码,或者使用pycharm打开源码运行。

具体内容可参见压缩包源码。这里不继续展开了。

##### 3.microbit代码



因为用到了dht11传感器,所以用了microbit给出的micropython编辑器bxy.exe里的dht11库,只要使用

`import dht11`进行导入就可以了。

##### 4.设备连接图





##### 5.演示视频
https://v.youku.com/v_show/id_XMzgwOTg1NzY2MA==.html?spm=a2h3j.8428770.3416059.1相关代码请看附件:


时间仓促,制作简陋,敬请谅解。




super-power 发表于 2018-9-4 07:15:40

高级:)):))

hnyzcj 发表于 2018-9-4 07:39:58

高端大气上档次

rzyzzxw 发表于 2018-9-4 07:44:25

物联技术哪家强{:5_148:}

Forgotten 发表于 2018-9-4 09:14:03

厉害厉害了{:5_168:}

gada888 发表于 2018-9-4 17:32:41

腻害
页: [1]
查看完整版本: micro:bit × OBLOQ挑战赛第三轮——本地物联网关