谁进我屋了之“无线门户报警器”

前面我们讲到了简易门户报警器的实现。

相关链接:

这次来做一个升级,实现网络报警。

项目需求:

当有人打开门或没关上门时,Micro:bit马上通过无线网络向你报警。

实现原理:

Micro:bit上面有个磁力计,这里可以设定每2秒测量一次磁场强度。当磁场低于某个特定水平(阈值)时,它会发送一个无线信号“door open”。如果磁性读数超过阈值,则会发送“door closed”。

当警报器Micro:bit收到“door closed”信息时,其 LED显示屏上会显示一个勾号。 当收到“door open”无线电讯息时,它会显示一个大叉并发出警报声。

所需材料:

Micro:bit 2个
电池包 2个
磁铁 1个
万能胶或类似工具,用以将磁铁固定在门上,并将Micro:bit固定在门框上。
可选的蜂鸣器或扬声器
鳄鱼夹引线

门户端代码:

from microbit import *
import radio
radio.config(group=17)
compass.calibrate()
radio.on()

while True:
    if button_a.was_pressed():
        display.scroll(compass.get_field_strength())
    if compass.get_field_strength() < 100000:
        display.show(Image.DIAMOND_SMALL)
        radio.send('door open')
    else:
        display.clear()
        radio.send('door closed')
    sleep(2000)

报警端代码:

from microbit import *
import music
import radio
radio.config(group=17)
radio.on()

while True:
    message = radio.receive()
    if message:
        if message == 'door open':
            display.show(Image.NO)
            music.play(["C4:4"])
        if message == 'door closed':
            display.show(Image.YES)

离线编辑器:

在线编辑器:

https://makecode.microbit.org/#editor

https://python.microbit.org/v/3?l=zh-CN

进阶:

1、按下Micro:bit上的按键A,以帮助校准磁力的最佳阈值。在MakeCode中将其设置为100 microteslas,与在Python中的10000 nanoteslas相同。
2、使用多个Micro:bit来发送不同的无线电消息(例如“back door open”)以追踪多门的状态。
3、使用变量来计算门保持打开状态的时间。

谁进我屋了之“简易门户警报器”

这是写给物联网新手的教程,熟手如果好奇也可以看一下。

有人来过你的房间吗?使用Micro:bit,电池组和磁铁,你可以让门发出警报,以提醒有人闯入。

关于Micro:bit:

Micro:bit是一个卡片大小的计算机,它有一个LED显示屏、按键、传感器和一些输入/输出引脚,可以在Scratch和Python程序的控制下,与你的世界交互。

原理:

Micro:bit上面内建了一个compass sensor,称为磁力计。 你可以使用它来测量地球的磁场,以作为指南针-或感应到附近的磁场强度!

代码:

当磁力强度感应低于200,就显示愤怒的表情。

当按钮A按下时,显示当前磁力强度。

如果用Python的话,这样写:

# Python uses nanoteslas to measure magnetism.
# Experiment with different numbers depending on the
# strength of your magnet, which you can read by 
# pressing button A.

from microbit import *

while True:
    if button_a.was_pressed():
        display.scroll(compass.get_field_strength())
    if compass.get_field_strength() < 200000:
        display.show(Image.ANGRY)

做法:

将磁铁固定在门上,然后将写入开门警报器程序的Micro:bit靠近它,固定在墙上。

接好电源。这样一个简单的报警装置就做好啦。

进阶:

1、添加声音警报。

2、使用一个变量来计算门被打开的次数,这里需要添加一个程序来感应门是否被打开或关闭。

3、创建一个定时器计算门被打开多长时间

好了,拿去玩吧。

本文主要内容来自:

microbit.org

相关视频:

谁进我屋了之“简易门户警报器” (qq.com)

用上Micro:bit离线开发工具Windows 10版本

Micro:bit 是一款由英国广播电视公司(BBC)为青少年编程教育设计,并由微软,三星,ARM,英国兰卡斯特大学等合作伙伴共同完成开发的微型电脑。

为了降低门槛,早期只提供了Web版的在线开发工具(makecode.microbit.org)供大家创作。

可随着玩家数量的增多以及对调试效率的追求,离线开发工具成为了很多玩家追求的目标。

后来官方提供了Android、iOS……等需要借助蓝牙,借助Web的伪离线版本。但始终没有为广大Windows用户提供一个支持积木编程的“真”离线版本。

前几天逛Windows App Store,突然发现 Micro:bit 官方 IDE 支持Windows 10了。

虽然还在BETA,但总比在线版好用多了 —— 代码编译下载后还要手动写入程序,效率很低。

该版本同时支持“积木”和 JavaScript 两种编程方式。界面和Web在线版一样,但不用担心像Web版那样,经常刷不出来。

写入程序时也不用多余工序 —— 在 Micro:bit 硬件联机状态点击“下载”即可。

怎么样?还不赶紧试一下,为自己提高创作效率。

另外也欢迎Micro:bit的同好关注我们的公众号“IoT前哨站”,一起来为物联网学习添砖加瓦。

从树莓派到Microbit,中国IT启蒙教育比英国缺点什么?

前段时间,笔者一直在用英国产的“Micro:bit”。这是一款由BBC主导,微软、三星、ARM、英国兰卡斯特大学、巴克莱银行等合作伙伴共同开发的嵌入式编程设备。

它可以通过计算机、手机、平板编程,也可以用图形化的方式编程。支持Scratch、Python、JavaScript三种语言。一块小小的电路板,集成了重力传感器、磁力传感器、温度感测、蓝牙等多个模块。如图所示。

不用安装任何复杂的IDE和运行环境,只要一根USB线和一个主流浏览器就能写入代码,让这块小电路板进行各种有趣的项目和实验。如图所示。

这块小型电路板的背后,是一项名为Make it Digital的计划,旨在推进英国的数字化进程。

该计划从2015年秋季开始,让英国11岁左右的学生都免费获得“Micro:Bit”进行编程学习。

BBC此举意在提高年轻人的数字化技能,并填补未来这方面人才的空缺。据估计,未来五年内,英国将需要约140万的专业IT人士,但现实是目前这方面人才紧缺。BBC希望将这个基于ARM处理器的微型设备作为一个跳板,让学生掌握基础编程知识之后再去使用更复杂的设备,毕业以后可以成为精通此类技能的IT人才。

目前主流的英国中学,编程已经和科学、技术、工程、数学一起,成为学生的基础课程。而且从树莓派到Micro:Bit这类开源硬件不断涌现,也证明了英国教育界和产业界融合之深入,协同之到位。

我国早在1984年,邓老爷子曾就在上海提出过“计算机的普及要从娃娃做起”。计算机课程在该年首次进入上海的高中课堂,翌年成为高中阶段的必修课。

随后计算机教育在我国的发展也如火如荼。但十分可惜的是,与计算机启蒙教育相关的配套硬件却一直没有发展起来。大部分时候,学生都是直接使用进口的非开源商业计算机进行学习。而商业计算机大多是美国标准,一批批学生成年后又继续按这套标准教育新的学生,培训新的员工。间接导致了相关软件业一度被迫向美国看齐,让出了相关领域与美国一较高下的机会。

这虽然和我国的IT基础产业发展较晚有关,但我国没有对青少年计算机启蒙教育进行系统的,持续的,深入的定制和推广也有关系。

比如笔者在初中开始进行系统计算机课程学习。但一开始学的不是编程,而是五笔字型和办公软件。高中时期,学校教授模拟电路和数字电路,很少有机会实战。直至考入大学的电子专业后,才第一次接触嵌入式设备的真机开发,此时不仅动手能力不如少年时期,而且学习计算机编程最好的时光已一去不返。

反观现在的英国青少年,在初中时候便有良好的环境学习Micro:bit这样的简易电路板,高中时候可以进阶到Raspberry Pi这样功能更强的微型电脑实战。可以预想,大学以后,他们基于之前的功底便可轻松进入各种高级的电子、计算机研究领域。

大规模持续的非盈利教育活动,是一个国家国民素质提高的有效手段。而孩童时期又是人们最热衷探索和创新的时候,这个时候如果能给予正确的方向和足够的教育支持。对整个国家综合国力的发展大有裨益。

规模化的IT启蒙,现阶段我国软硬件发展跟的上吗?

2000年左右,中国近乎全民Windows。所幸最近十年大力发展Linux为主的开源软件,让我国在相关领域没有落后于欧美先进国家。

而硬件方面,像树莓派、Micro:bit所采用的低功耗芯片,国内有“全志”、“瑞芯微”可以满足。相关的开源电路板,迅龙的“Orange Pi”和方糖科技的“CubieBoard”已在业界小有名气。

我国东部地区的一些学校,近几年均已经开始中小学的编程训练以提高学生的“STEAM”能力。民间的很多培训班也如雨后春笋般涌现出来。

以上可见,基础已备。中国现阶段缺的,就是一家类似BBC这样有公信力的机构来牵头成立相关的教育基金会,整合国内外一流的资源,建立有益青少年IT教育的体系。同时协调各方设计“能让适龄青少年迅速上手的可编程设备“,推出趣味性和实用性并存的计算机课程,降低整个国民IT学习的成本,让更多的孩子有机会受到良好的计算机启蒙教育,让他们能迈出扎实的第一步。

随着IoT、区块链、AI时代的到来,中国今后的IT需求十分巨大。相关产业的高速发展急需人才推动。希望中国也能借鉴英国的成功经验,普及国民IT教育,填补相关产业的人才缺口,以免在未来失去竞争力。