智能门铃助理 — ESPBell

ESPBell是一个基于ESP12F模块的智能门铃项目。它使用ESPBell-Lite开发板,该开发板包含ESP8266芯片、摄像头、扬声器和麦克风。https://mp.weixin.qq.com/cgi-bin/readtemplate?t=tmpl/video_tmpl&vid=wxv_3251263471233613825

功能包括:

  • 实时视频传输
  • 双向语音通话
  • 人体检测
  • 触摸按钮
  • 远程控制

使用方法如下:

  1. 下载项目代码并安装依赖项。
  2. 将ESPBell-LITE开发板连接到电脑。
  3. 编译并烧录代码到开发板。
  4. 按照说明配置 Wi-Fi 连接。

优势包括:

  • 使用ESP8266芯片,具有较高的性能和低功耗。
  • 集成了摄像头、扬声器和麦克风,可实现实时视频传输、双向语音通话和人体检测等功能。
  • 支持触摸按钮和远程控制,使用方便。

不足之处包括:

  • 开发板的价格相对较高。
  • 视频传输的质量受网络环境的影响。

总体而言,该项目是一个功能强大且易于使用的智能门铃项目。它适合家庭、办公室和其他场所使用。

以下是该项目的部分亮点:

  • 使用ESP8266芯片,具有较高的性能和低功耗,可满足实时视频传输、双向语音通话和人体检测等功能的需求。
  • 集成了摄像头、扬声器和麦克风,可实现丰富的功能。
  • 支持触摸按钮和远程控制,使用方便。

该项目具有良好的开发潜力,可以进一步扩展功能,例如:

  • 添加更多传感器,例如 PIR 传感器、门磁传感器等,实现更智能的功能。
  • 支持云端存储,实现视频录像和回放。
  • 支持 AI 识别,实现人脸识别、车辆识别等功能。

源代码:

https://github.com/IoToutpost/ESPBell-LITE
https://file.daihuo.qq.com/mp_cps_goods_card/v57/index.html

用树莓派Pico W创建自己的Slack机器人

原作:Sandeep Mistry 

编译:IoT前哨站

Slack是一款在线协作软件,可以让你与团队成员进行聊天、文件传送、语音/视频通话等功能。Slack还可以整合多种工具和服务,如电子邮件、Google Drives、Twitter、Trello等,以提高工作效率和自动化任务。Slack是世界各地公司和个人的首选平台,拥有超过20万付费客户和77个财富100强企业的使用者。它有App方便大家在手机或平板电脑上使用。

这次要实现的树莓派Pico W远程控制机器人,简单来说,就是我们在手机上用Slack发消息,指挥Pico W帮我们干活。

Slack 的 chat.postMessage API 可将消息从开发板发送到 Slack 频道。Slack 为应用和机器人提供了一个事件 API,用于响应 Slack 上的活动。由于开发板不能从公共互联网直接访问,因此无法使用公共 HTTP webhook。我们必须使用Slack 的Socket Mode。Socket Mode使应用和机器人能够使用动态的WebSocket 接收事件。动态套接字连接的URL可以通过Slack的apps.connections.open API获取。

Pico W与Slack API 接收事件和发送消息的通信机制:

要完成上述操作,你必须先有Slack令牌。

配置 Slack

在 Web 浏览器中,访问 https://api.slack.com/apps 并使用您的 Slack 凭据登录。单击“创建新应用”按钮。

单击“从头开始”选项。

输入应用程序的名称(例如“Pico W”),为应用程序选择一个工作区,然后单击“创建应用程序”按钮。

单击左侧的“Socket Mode”部分,然后单击切换到“启用Socket Mode”。


输入应用级令牌的“Token Name”,例如“Pico W app”,然后单击“生成”按钮。

生成并显示应用级令牌,复制该值并保存以备将来使用,然后单击“完成”按钮。

单击左侧的“OAuth 和权限”部分,向下滚动到“Scopes”部分,然后单击“添加 OAuth 范围”按钮。

添加“app mention:read”权限。

添加“chat:write”权限。

单击左侧的“事件订阅”部分,然后单击“启用事件”开关。

展开“订阅bot事件”部分并单击“添加bot用户事件”按钮。

选择“app_mention”。

点击右下角的“保存更改”按钮。

点击左侧的“基本信息”部分,然后点击“请求安装”按钮。

填写“简短描述”,选择“背景颜色”,点击“保存更改”按钮

工作区管理员可以批准申请。然后转到“基本信息”部分,单击“安装到工作区”按钮。

安装完成后,单击左侧的“OAuth & Permissions”部分,滚动到“工作区的OAuth Token”部分,然后复制“Bot User OAuth Token”值并保存以供将来参考。

现在你有了一个应用程序级别的令牌值和一个Slack应用程序的Bot用户OAuth令牌值,可以在Raspberry Pi Pico W板上使用。

基于 MicroPython 的 Slack 机器人

MicroPython 为许多基于 Arm Cortex-M 的微控制器提供 Python 3 实现,包括 Raspberry Pi Pico W 板上的 Raspberry Pi RP2040。

Thonny IDE 将用于安装 MicroPython 并将代码上传到 Raspberry Pico W 板。从 Thonny 主页下载适用于您的计算机的操作系统 (OS) 专用版本的 Thonny。在撰写本指南时,Thonny 4.1.2 是最新版本。

用Thonny刷好MicroPython以后,将 GitHub 中的代码下载到计算机上的文件夹。

相关代码:

https://github.com/IoToutpost/example-of-a-slackbot-for-pico-w

打开 Raspberry Pi Pico W 板上的 config.py 文件,填写 Wi-Fi 网络的 SSID 和密码,以及之前配置的 Slack 应用和机器人令牌。

打开树莓派Pi Pico W板上的 main.py 文件,然后按绿色的播放按钮运行应用程序。如果一切配置正确,开发板现在将连接到您的 Wi-Fi 网络,然后连接到 Slack。

基于 C 语言的 Slack 机器人

对于 C 版本,以下库将与 pico-sdk 一起使用:

  • FreeRTOS 内核 – 为网络堆栈提供实时操作系统 (RTOS)
  • lwIP – 用于 TCP/IP 通信
  • Mbed TLS – 用于 TLS 通信
  • coreHTTP – 用于 HTTP 客户端
  • cJSON – 用于解析和序列化 JSON 数据

使用 Raspberry Pi 的 Pico SDK 和所需的工具链设置您的计算机。有关更多信息,请参阅 Raspberry Pi Pico 入门指南。

在终端窗口中,设置 PICO_SDK 环境变量:

export PICO_SDK_PATH=/path/to/pico-sdk

将目录更改为下载示例代码的位置,然后将目录更改为文件夹:pico-sdk

cd path/to/example-of-a-slackbot-for-pico-w

cd pico-sdk

创建一个构建目录,并将目录更改为该目录:

mkdir build

cd build

使用你的 Wi-Fi SSID 和密码以及 Slack 应用和机器人令牌运行,然后运行以编译应用程序:cmakemake

cmake .. -DPICO_BOARD=pico_w -DWIFI_SSID="<WIFI SSID>" -DWIFI_PASSWORD="<Wi-Fi Password" -DSLACK_APP_TOKEN="<Slack App Token>" -DSLACK_BOT_TOKEN="<Slack Bot Token>"

make

按住 Pico 板上的 BOOTSEL 按钮,同时使用 USB 电缆将板插入计算机。

将文件复制到挂载的Raspberry Pi Pico启动ROM磁盘:picow_slack_bot.uf2

按住 Pico 板上的 BOOTSEL 按钮,同时使用 USB 电缆将板插入计算机。

将文件复制到挂载的Raspberry Pi Pico启动ROM磁盘:picow_slack_bot.uf2

cp -a picow_slack_bot.uf2 /Volumes/RPI-RP2/.

使用串行监视器应用程序(如屏幕)查看主板的 USB 串行输出,将 /dev/cu.usbmodem00000000000001 替换为主板的路径:

screen /dev/cu.usbmodem0000000000001

如果一切配置正确,开发板现在将连接到您的 Wi-Fi 网络,然后连接到 Slack。

测试应用程序

在计算机上打开 Slack,并创建一个新的测试频道。在信息输入窗口中输入,然后点按绿色按钮或按回车键发送。@<name of Slack app> LED on

在 Slack 中向 Pico W 发送第一条消息

由于 Pico W 不在频道中,系统将提示您添加它们。点击“邀请他们”按钮。

邀请Raspberry Pi Pico W加入频道

被邀请后,开发板将点亮 LED, 然后回复消息告知状态。您也可以尝试发送消息以关闭 LED。@<name of Slack app> LED off

Raspberry Pi Pico W 在 Slack 中收到指令并回复

结论

本指南介绍了通过Raspberry Pi Pico W上运行MicroPython和C应用程序,来与Slack API发送和接收消息。

示例应用程序代码可以接收并处理消息文本,以控制板载 LED,然后将 LED 的当前状态告知用户。

你可以在自己的Raspberry Pi Pico W上尝试一下,然后在示例代码的基础上构建更多功能,从而将 Slack 扩展到物理世界。

用Arduino做一个自动割草机

这个项目中,我们将用Arduino制作一个自动割草机。该机器可以自动修剪院子里长高的草。如果有障碍物,它会自动改变方向,有助于减少人力。

本文提供了项目的基本概述,以及制作Arduino割草机器人所需的组件。提供了电路原理图和Arduino源代码,以便简化组装和编程过程。

注意:这个项目不是玩具,它包含锋利的刀片。如果不小心使用,可能会造成严重的伤害。不要让它无人看管,刀片应正确固定。操作前检查一下。

材料清单

我们需要以下组件:

1、 Arduino UNO
2、 L293D电机驱动盾
3、 超声波传感器HC-SR04
4、 超声波传感器外壳/支架
6、 直流减速电机 x4
7、 BLDC电机100KV
8、 舵机SG-90
9、 ESC模块
10、舵机测试仪
11、3针滑动开关
12、X型十字支架
13、机器人底盘
14、11.1V锂电池

什么是割草机器人(割草机)?

割草机器人是一种用于自动修剪和维护草坪的机器人设备。这些机器人使用传感器和算法来导航和修剪草坪,并且可以根据草坪的生长速度或特定的时间表来编程修剪草坪。一些割草机器人还配备了诸如障碍物检测、防盗保护和通过智能手机应用程序远程控制等功能。它们近年来越来越受欢迎,因为可以节省割草的时间和精力。

电路和连接

源代码/程序

AFMotor Library:
https://github.com/adafruit/Adafruit-Motor-Shield-library

NewPing Library:
https://github.com/microflo/NewPing

需要编译到Arduino UNO开发板中的代码:

#include <AFMotor.h>  
#include <NewPing.h>
#include <Servo.h> 
 
#define TRIG_PIN A0 
#define ECHO_PIN A1 
#define MAX_DISTANCE 200 
#define MAX_SPEED 190 
#define MAX_SPEED_OFFSET 20
 
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE); 
 
AF_DCMotor motor1(1, MOTOR12_1KHZ); 
AF_DCMotor motor2(2, MOTOR12_1KHZ);
AF_DCMotor motor3(3, MOTOR34_1KHZ);
AF_DCMotor motor4(4, MOTOR34_1KHZ);
Servo myservo;   
 
boolean goesForward=false;
int distance = 100;
int speedSet = 0;
 
void setup() {
 
  myservo.attach(10);  
  myservo.write(115); 
  delay(2000);
  distance = readPing();
  delay(100);
  distance = readPing();
  delay(100);
  distance = readPing();
  delay(100);
  distance = readPing();
  delay(100);
}
 
void loop() {
 int distanceR = 0;
 int distanceL =  0;
 delay(40);
 
 if(distance<=15)
 {
  moveStop();
  delay(100);
  moveBackward();
  delay(300);
  moveStop();
  delay(200);
  distanceR = lookRight();
  delay(200);
  distanceL = lookLeft();
  delay(200);
 
  if(distanceR>=distanceL)
  {
    turnRight();
    moveStop();
  }else
  {
    turnLeft();
    moveStop();
  }
 }else
 {
  moveForward();
 }
 distance = readPing();
}
 
int lookRight()
{
    myservo.write(50); 
    delay(500);
    int distance = readPing();
    delay(100);
    myservo.write(115); 
    return distance;
}
 
int lookLeft()
{
    myservo.write(170); 
    delay(500);
    int distance = readPing();
    delay(100);
    myservo.write(115); 
    return distance;
    delay(100);
}
 
int readPing() { 
  delay(70);
  int cm = sonar.ping_cm();
  if(cm==0)
  {
    cm = 250;
  }
  return cm;
}
 
void moveStop() {
  motor1.run(RELEASE); 
  motor2.run(RELEASE);
  motor3.run(RELEASE);
  motor4.run(RELEASE);
  } 
  
void moveForward() {
 
 if(!goesForward)
  {
    goesForward=true;
    motor1.run(FORWARD);      
    motor2.run(FORWARD);
    motor3.run(FORWARD); 
    motor4.run(FORWARD);     
   for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) 
   {
    motor1.setSpeed(speedSet);
    motor2.setSpeed(speedSet);
    motor3.setSpeed(speedSet);
    motor4.setSpeed(speedSet);
    delay(5);
   }
  }
}
 
void moveBackward() {
    goesForward=false;
    motor1.run(BACKWARD);      
    motor2.run(BACKWARD);
    motor3.run(BACKWARD);
    motor4.run(BACKWARD);  
  for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) 
  {
    motor1.setSpeed(speedSet);
    motor2.setSpeed(speedSet);
    motor3.setSpeed(speedSet);
    motor4.setSpeed(speedSet);
    delay(5);
  }
}  
 
void turnRight() {
  motor1.run(FORWARD);
  motor2.run(FORWARD);
  motor3.run(BACKWARD);
  motor4.run(BACKWARD);     
  delay(500);
  motor1.run(FORWARD);      
  motor2.run(FORWARD);
  motor3.run(FORWARD);
  motor4.run(FORWARD);      
} 
 
void turnLeft() {
  motor1.run(BACKWARD);     
  motor2.run(BACKWARD);  
  motor3.run(FORWARD);
  motor4.run(FORWARD);   
  delay(500);
  motor1.run(FORWARD);     
  motor2.run(FORWARD);
  motor3.run(FORWARD);
  motor4.run(FORWARD);
}  

测试

上传代码后,你可以把机器人带到野外,也许在高草地区。高草地区可以是一个很好的测试选择。

打开机器人上的开关,确保电源为Arduino板提供正确的电压,并且所有组件都正确连接。通过手动控制机器人的运动来测试机器人的电机,确保机器人运动平稳准确。

测试机器人的传感器,在其路径上放置障碍物,并确保能避开它们。此外,检查传感器的范围和灵敏度,以确保机器人可以检测到草的存在。

微软开源的物联网教程

主讲物联网通用知识、传感器数据收集、执行器响应处理、硬件联网方式、位置追踪、语音识别等基础知识。

通过开发植物监控、浇水系统、车辆跟踪、声控烹饪计时器等多个项目,带你了解物联网的实际使用。

课程中的多个项目,将打通食物从农场,再到餐桌的完整处理流程,其中涉及农业、物流、制造、零售、消费者等多个产业,覆盖了物联网设备在当下主流行业的应用。

在万物互联的时代,物联网这一概念也开始普及到千家万户,古代人们所畅想的隔空控物,与物对话,在随着声控硬件的推广下,也慢慢让这一理念得以实现,成为常态。

而作为技术人员的我们,为了让自己在职场中更加不可替代,便得先人一步,看到未来,提前做好规划与打算。

我认为,物联网这一行业,结合现有的各个大语言模型,未来在智能家居等行业,定会诞生很多有趣的应用与产品。

GitHub:

https://github.com/microsoft/IoT-For-Beginners

谷歌Sheets和ESP8266构建的考勤系统

用户刷卡后,系统会与包含用户列表的谷歌表单进行核对。

如果用户获得授权,LCD上会显示用户的姓名、接入类型和自定义留言,并发出“嘟”的一声。系统还将考勤数据记录在谷歌Sheet中,供以后查看和分析。

开始之前,你得有一个Google账户,且所在网络可以顺利登录Google。

https://mp.weixin.qq.com/cgi-bin/readtemplate?t=tmpl/video_tmpl&vid=wxv_2903425061842321412

主要材料:

RFID RC522

https://www.aliexpress.us/item/2251832760608169.html

esp8266

https://www.aliexpress.us/item/2251832470086446.html

lcd1602

https://www.aliexpress.us/item/2251832499297742.html

breadboard

https://www.aliexpress.us/item/2251832028089611.html

相关源码:

https://github.com/unreeeal/ESP/tree/master/ESP-RFID-GOOGLE

注:这里ESP32和ESP8266的使用场景是差不多的,两者都可以实现类似功能。

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

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

相关链接:

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

项目需求:

当有人打开门或没关上门时,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)

树莓派+电子墨水屏+Spotify = 实时播歌

Spotify是一个流行的流媒体服务,允许用户收听音乐、播客和有声读物。作为一个开发者,你可以使用Spotify Web API来访问Spotify的音乐目录和用户数据,并将Spotify的功能整合到你自己的应用程序中。

如何用树莓派和5.7英寸的电子墨水屏创建一个电子相框,来实时显示你在Spotify上听的歌曲封面?说实话,这个让我想起了以前实时显示歌曲封面的CD机。

操作步骤:

首先你要有一个Spotify的开发者账号,注册地址:

https://developer.spotify.com/

在仪表盘中编辑应用程序的设置。比如:

http://localhost/redirect

设置完成后,登录树莓派。

运行“raspi-config”命令,找到“Interface Options”,把SPI和I2C设置为可用。 

下载以下文件,并在树莓派上执行。最后根据提示,填写你的Spotify账号和API信息即可。

wget https://raw.githubusercontent.com/ryanwa18/spotipi-eink/main/setup.sh
chmod +x setup.sh
bash setup.sh

相关配件:

Raspberry Pi Zero 2
Inky Impression 5.7

关于外壳的3D打印文件:

https://cults3d.com/en/3d-model/gadget/spotipi-e-ink-inky-impression-5-7-case

相关视频地址:

https://mp.weixin.qq.com/s/tMx-RSDyAZZMUo04oYRRqw

带Wi-Fi的树莓派Pico W上市了

Raspberry Pi Pico 是一款低成本,高性能的嵌入式开发板,也是树莓派基金会发布的第一款MCU。

它集成了 Raspberry Pi 自己的 RP2040 微控制器芯片,运行速度高达133 MHz的双核 Arm Cortex M0 + 处理器,264KB SRAM和2MB板载闪存,以及26个多功能GPIO引脚。

说的再好……Pico没有无线联网功能。

终于!赶在2022年上半年最后一天,Raspberry Pi发布了 Pico W。

带Wi-Fi功能的树莓派MCU,上市了。

关于无线芯片

树莓派基金会此次采用的无线芯片是英飞凌的CYW43439,该芯片同时支持Wi-Fi和低功耗蓝牙,不过目前只能在Pico W上启用Wi-Fi,蓝牙要再等等。

相关电路封装在一个金属屏蔽壳中,为相关集成商降低了合规成本。  

有了2.4GHz 802.11n无线功能之后,Pico W可以成为常见loT解决方案的重要一环。

关于引脚

引脚和老款Pico保持一致

关于固件

https://datasheets.raspberrypi.com/soft/micropython-firmware-pico-w-290622.uf2

开发文档

https://datasheets.raspberrypi.com/picow/connecting-to-the-internet-with-pico-w.pdf

关于售价:

Pico W现在官方售价6美元一块,只是现在是全球缺货状态。粉丝们估计要再等一等了。

Canonical正式发布专为物联网和嵌入式设备优化的Ubuntu Core 22操作系统

2022年6月16日,Canonical 宣布推出专为物联网和边缘设备优化的 Ubuntu 22.04 LTS 完全容器化的版本 Ubuntu Core 22,该操作系统现在可通过https://cn.ubuntu.com/download/iot下载。

结合 Canonical 提供的技术,该版本将 Ubuntu 全面且行业领先的操作系统和服务带到各种嵌入式和物联网设备中。

物联网制造商面临着复杂的挑战,他们需要控制在预算范围内并准时地部署设备。随着设备组的扩大,确保大规模安全性和远端管理也并非易事。Ubuntu Core 22通过提供具备超高安全性、自我修复且低接触的操作系统,帮助制造商应对这些挑战。该操作系统对不断扩大的芯片和物联网设备制造商合作伙伴生态系统提供支持。

Canonical 首席执行官 Mark Shuttleworth 表示:“Canonical 的目标是从开发环境到云端,再到边缘和设备的任何位置,提供安全、可靠的开源操作系统。通过发布新版操作系统,以及 Ubuntu 的实时内核(Real-Time Kernel),我们已经准备好为整个嵌入式世界提供 Ubuntu Core 的优势。”

支持实时内核

Ubuntu 22.04 LTS 的实时内核现已推出 beta 版,可提供高性能、超低延迟和工作负载可预测性,适用于对设备反应时间敏感的工业、电信、汽车和机器人等使用场景。

新版本包含一个完全先占式(Preemptible)内核,用以确保有时限的反应时间。Canonical 与芯片商和硬件制造商合作,在 Ubuntu 认证硬件上实现开箱即用的实时计算功能。

以物联网应用为中心

Ubuntu Core 提供功能强大、完全容器化的 Ubuntu,将 Ubuntu 拆分成被称为 snap 的软件包,包括内核、操作系统和应用程序。每个 snap 都是一个独立的沙箱,其中包含应用软件的依赖包,完全实现可移植性和可靠性。Canonical 的 Snapcraft 框架支持多通道的 snap 开发,进而实现快速迭代、自动化测试和可靠部署。

每台运行 Ubuntu Core 的设备都有一个专属的物联网应用商店平台(IoT App Store),不仅可以完全控制相应设备上的应用,还可在同一个物联网应用商店平台上创建、发布和分发软件。物联网应用商店平台还为企业提供高级的软件管理解决方案,从而实现一系列新的本地部署功能。

该系统可确保内核、操作系统和应用程序的事务化、任务关键型在线更新(OTA),更新始终会成功完成,否则会自动回滚到以前运行的版本,因此设备不会因更新未完成而“变砖”。Snap 还提供增量更新来尽量减少网络流量,并提供数位签名以确保软件的完整性和来源。

安全和低接触

Ubuntu Core 提供开箱即用的高级安全功能,包括安全启动(Secure Boot)、全储存加密(Full Disk Encryption)、安全的系统恢复以及对操作系统和应用程序的权限限制。

KMC Controls 的首席运营官 Brad Kehler 表示:“KMC Controls 的一系列物联网设备专门为关键任务型工业环境而设计。对我们的客户来说,安全最为重要。我们之所以选择 Ubuntu Core 是因为它具有内置的高级安全功能和功能强大的在线更新框架。Ubuntu Core 提供10年安全更新承诺,让我们能够在长期使用设备的过程中确保其安全性。借助已验证的应用支持框架,我们的开发团队可以专注于创建用于解决业务问题的应用。”

客户受益于 Canonical 提供为内核、操作系统和应用程序代码级别的10年长期安全维护服务,使设备及其应用能够满足企业和公共领域的数位安全要求。

不断发展壮大的合作伙伴生态圈

如今 Canonical 已与研华科技和联想等多家领先的芯片和硬件厂商建立合作伙伴生态圈,由此确立了 Ubuntu Core 的市场地位。

Ubuntu 认证计划更定义了一系列现有的物联网和边缘设备,这些受信任的设备可与 Ubuntu 配合使用。该计划的独特之处在于,在设备的整个生命周期内,Canonical 实验室会在认证硬件每次安全更新时对其进行持续测试。

研华 WISE-Edge+ 总监 Eric Kao 表示:“研华提供嵌入式、工业、物联网和自动化解决方案。我们将继续深入参与 Ubuntu 硬件认证计划。Canonical 认证的硬件会通过广泛的测试,提供稳定、安全和优化的 Ubuntu Core,帮助我们的客户加快产品上市和缩减开发成本。”

更多Ubuntu Core 22的详细资讯

如需了解 Ubuntu Core 22 的更多资讯,请访问 http://cn.ubuntu.com/internet-of-things/core 。Canonical 将发布一系列技术文章,对 Core 22 的功能进行更深入的探讨。

如需立即开始使用 Ubuntu Core 22,请通过此链接下载已支持的平台的镜像。


关于Canonical

Canonical 是 Ubuntu 发行商,Ubuntu 是用于容器、云、超大规模计算的领先的操作系统。大部分公有云工作负载都用Ubuntu,大部分的新智能网关、交换机、自动驾驶汽车和先进的机器人也如此。Canonical 为 Ubuntu 商业用户提供企业级支持和服务,公司创立于2004年,是一家私人控股公司。