FRDM‐K64F开发板 ARM Mbed 在线编译器嵌入式和物联网开发

本文主要是介绍FRDM‐K64F开发板 ARM Mbed 在线编译器嵌入式和物联网开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

传感器和执行器

传感器是将物理参数转换为电输出的设备。 传感器是换能器的一种。 传感器可分为模拟传感器和数字传感器。 模拟传感器以电压和电流的形式提供输出。 微控制器需要 ADC(模数转换器)读取来自模拟传感器的数据。 许多较新的传感器都是数字传感器,即它们使用 I2C(内部集成电路)、SPI(串行外设接口)和 UART(通用异步接收器)等协议以数字格式提供输出。

执行器是将电信号转换为物理输出(即运动)的设备。 执行器可以通过电压或电流、气动或液压、甚至人力来控制。 在嵌入式系统中,执行器主要由电力控制。 当接收到控制信号时,执行器将电能转换为机械运动。 执行器可以产生线性运动、旋转运动或振荡运动。 执行器的示例包括电动机、压电致动器、气动致动器、步进电机和门锁致动器等。

通讯

除了以太网、WiFi、蓝牙等传统通信技术外,还有许多其他技术可用于物联网通信。

  • RFID 和 NFC(近场通信)
  • 低功耗蓝牙 (BLE)
  • 光保真 (LiFi)
  • 6LoWPAN
  • ZigBee
  • Z‐Wave
  • LoRa

Standard  Frequency  Range  Data Rate  LiFi  Similar to  802.11 400 − 800 T H z < 10 m < 224 G b p s WiFi  802.11 a / b / g / n / a c 2.4 G H z and  5 G H z ∼ 50 m < 1 G b p s Cellular  GSM/GPRS/EDGE  900 , 1800 , 1900 , and  < 200 k m < 500 k p s ( 2 G ) , (2G), UMTS/HSPA  2100 M H z < 2 M b p s ( 3 G ) , (3G), LTE (4G), 5G  2.3 , 2.6 , 5.25 , 26.4 , and  < 10 M b p s ( 4 G ) 58.68 G H z < 100 M b p s ( 5 G ) Bluetooth  Bluetooth  4.2 2.4 G H z 50 − 150 m 1 M b p s RFID/NFC  ISO/IEC  18000 − 3 13.56 M H z 10 c m 100 − 420 k b p s 6LowPAN  RFC6282  2.4 G H z and  ∼ 1 G H z < 20 m 20 − 250 k b p s ZigBee  ZigBee  3.0 based on  2.4 G H z 10 − 100 m 250 k b p s IEEE802.15.4  Z-Wave  Z-Wave Alliance  868.42 M H z and  < 100 m < 100 k b p s ZAD12837 / ITU-T  908.42 M H z LoRa  G.9959  LoRaWAN  868 M H z and  915 M H z < 15 k m 0.3 − 50 k b p s \begin{array}{lllll} \hline & \text { Standard } & \text { Frequency } & \text { Range } & \text { Data Rate } \\ \hline \text { LiFi } & \text { Similar to } 802.11 & 400-800 \mathrm{THz} & <10 \mathrm{~m} & <224 \mathrm{Gbps} \\ \text { WiFi } & 802.11 \mathrm{a} / \mathrm{b} / \mathrm{g} / \mathrm{n} / \mathrm{ac} & 2.4 \mathrm{GHz} \text { and } 5 \mathrm{GHz} & \sim 50 \mathrm{~m} & <1 \mathrm{Gbps} \\ \text { Cellular } & \text { GSM/GPRS/EDGE } & 900,1800,1900 \text {, and } & <200 \mathrm{~km} & <500 \mathrm{kps}(2 \mathrm{G}), \\ & \text { (2G), UMTS/HSPA } & 2100 \mathrm{MHz} & & <2 \mathrm{Mbps}(3 \mathrm{G}), \\ & \text { (3G), LTE (4G), 5G } & 2.3,2.6,5.25,26.4, \text { and } & & <10 \mathrm{Mbps}(4 \mathrm{G}) \\ & & 58.68 \mathrm{GHz} & & <100 \mathrm{Mbps}(5 \mathrm{G}) \\ \text { Bluetooth } & \text { Bluetooth } 4.2 & 2.4 \mathrm{GHz} & 50-150 \mathrm{~m} & 1 \mathrm{Mbps} \\ \text { RFID/NFC } & \text { ISO/IEC } 18000-3 & 13.56 \mathrm{MHz} & 10 \mathrm{~cm} & 100-420 \mathrm{kbps} \\ \text { 6LowPAN } & \text { RFC6282 } & 2.4 \mathrm{GHz} \text { and } \sim 1 \mathrm{GHz} & <20 \mathrm{~m} & 20-250 \mathrm{kbps} \\ \text { ZigBee } & \text { ZigBee } 3.0 \text { based on } & 2.4 \mathrm{GHz} & 10-100 \mathrm{~m} & 250 \mathrm{kbps} \\ & \text { IEEE802.15.4 } & & & \\ \text { Z-Wave } & \text { Z-Wave Alliance } & 868.42 \mathrm{MHz} \text { and } & <100 \mathrm{~m} & <100 \mathrm{kbps} \\ & \text { ZAD12837 / ITU-T } & 908.42 \mathrm{MHz} & & \\ \text { LoRa } & \text { G.9959 } & & & \\ & \text { LoRaWAN } & 868 \mathrm{MHz} \text { and } 915 \mathrm{MHz} & <15 \mathrm{~km} & 0.3-50 \mathrm{kbps} \\ \hline \end{array}  LiFi  WiFi  Cellular  Bluetooth  RFID/NFC  6LowPAN  ZigBee  Z-Wave  LoRa  Standard  Similar to 802.11802.11a/b/g/n/ac GSM/GPRS/EDGE  (2G), UMTS/HSPA  (3G), LTE (4G), 5G  Bluetooth 4.2 ISO/IEC 180003 RFC6282  ZigBee 3.0 based on  IEEE802.15.4  Z-Wave Alliance  ZAD12837 / ITU-T  G.9959  LoRaWAN  Frequency 400800THz2.4GHz and 5GHz900,1800,1900, and 2100MHz2.3,2.6,5.25,26.4, and 58.68GHz2.4GHz13.56MHz2.4GHz and 1GHz2.4GHz868.42MHz and 908.42MHz868MHz and 915MHz Range <10 m50 m<200 km50150 m10 cm<20 m10100 m<100 m<15 km Data Rate <224Gbps<1Gbps<500kps(2G),<2Mbps(3G),<10Mbps(4G)<100Mbps(5G)1Mbps100420kbps20250kbps250kbps<100kbps0.350kbps

协议

  • HTTP
  • WebSocket
  • MQTT
  • CoAP
  • XMPP

Node-RED

Node-RED是IBM开发的基于Web的开源软件工具,可用于通过互联网连接硬件设备。借助 Node-RED,您可以将 mbed 开发板连接到互联网,读取传感器值,将其显示在图表、网页、电子邮件等消息中。 您还可以将命令发送回开发板以执行一些控制。 它是一种基于图形的编程工具,使用称为节点的功能块来构建程序。 您所需要做的就是连接节点并配置它们。 这使得许多编程任务变得非常简单且易于实现。 下图显示了在 Node-RED 中实现的一个简单的基于 WebSocket 的聊天程序。

嵌入式代码开发

  • 初始代码:闪烁 LED
  • 拓展代码
    • 控制继电器
    • 屏载 QWERTY 触摸键盘的 TFT 显示屏演示
    • SDFileSystem 替代 LocalFileSystem 写入 SD 卡
    • 挤出机/热床PID控制
    • 使用 Steinhart-Hart 方程进行热敏电阻到温度转换的演示
    • 光传感器示例
    • 温湿度传感器示例
    • USB HID 鼠标/键盘示例
    • HTTP SD 卡文件服务器
    • 使用整流器和低通滤波器对数字包络检波器进行测试
    • 使用 Python 编写的 GUI 软件从电脑控制 FRDM-K64F板
    • 2 个线程的矩阵乘法
    • 光和温度控制
    • 使用 mbed websocket 发送由字母和数字组成的消息控制RGB LED
    • 有限状态机
    • 数据记录器每隔几秒读取一次温度、湿度和光照水平,并将数据存储在 microSD 卡中

数字输入输出

  • 使用按钮和 PIR 传感器

数字输入示例:

#include "mbed.h"DigitalIn  mypin(SW2); // change this to the button on your board
DigitalOut myled(LED1);int main()
{// check mypin object is initialized and connected to a pinif (mypin.is_connected()) {printf("mypin is connected and initialized! \n\r");}// Optional: set mode as PullUp/PullDown/PullNone/OpenDrainmypin.mode(PullNone);// press the button and see the console / led changewhile (1) {printf("mypin has value : %d \n\r", mypin.read());myled = mypin; // toggle led based on value of buttonThisThread::sleep_for(250);}
}
#include "mbed.h"DigitalIn a(D0);
DigitalIn b(D1);
DigitalOut z_not(LED1);
DigitalOut z_and(LED2);
DigitalOut z_or(LED3);
DigitalOut z_xor(LED4);int main()
{while (1) {z_not = !a;z_and = a && b;z_or = a || b;z_xor = a ^ b;}
}

数字输出示例:

#include "mbed.h"DigitalOut myled(LED1);int main()
{// check that myled object is initialized and connected to a pinif (myled.is_connected()) {printf("myled is initialized and connected!\n\r");}// Blink LEDwhile (1) {myled = 1;          // set LED1 pin to highprintf("myled = %d \n\r", (uint8_t)myled);ThisThread::sleep_for(500);myled.write(0);     // set LED1 pin to lowprintf("myled = %d \n\r", myled.read());ThisThread::sleep_for(500);}
}

批量输入示例:

#include "mbed.h"BusIn nibble(D0, D1, D2, D3); // Change these pins to buttons on your board.int main()
{// Optional: set mode as PullUp/PullDown/PullNone/OpenDrainnibble.mode(PullNone);while (1) {// check bits set in nibbleswitch (nibble & nibble.mask()) { // read the bus and mask out bits not being usedcase 0x0:printf("0b0000, D3,D2,D1,D0 are low  \n\r");break;case 0x1:printf("0b0001,          D0  is high \n\r");break;case 0x2:printf("0b0010,       D1     is high \n\r");break;case 0x3:printf("0b0011,       D1,D0 are high \n\r");break;case 0x4:printf("0b0100,    D2        is high \n\r");break;case 0x5:printf("0b0101,    D2,  ,D0 are high \n\r");break;case 0x6:printf("0b0110,    D2,D1    are high \n\r");break;case 0x7:printf("0b0111,    D2,D1,D0 are high \n\r");break;case 0x8:printf("0b1000, D3           is high \n\r");break;// ...case 0xF:printf("0b1111, D3,D2,D1,D0 are high \n\r");break;}ThisThread::sleep_for(1000);}
}

模拟输入输出

  • 使用温度传感器和 LDR(光敏电阻) 传感器

脉冲宽度调制

加速度计和磁力计

SD卡读写

本地文件系统

中断

数字接口

串口、SPI、I2C、CAN

网络通讯

以太网、以太网网络客户端和服务器、TCP和UDP套接字、WebSocket、WiFi

数字信号处理

低通滤波器、高通滤波器、带通滤波器、带阻滤波器和陷波滤波器、快速傅里叶变换、PID控制器

多线程和实时编程

物联网开发项目示例

网络监控温度、智能灯控、声控门禁、RFID读取器、云端数据分析和可视化示例、实时信号处理

参考一:亚图跨际
参考二:亚图跨际

这篇关于FRDM‐K64F开发板 ARM Mbed 在线编译器嵌入式和物联网开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/639420

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

电力系统中的A类在线监测装置—APView400

随着电力系统的日益复杂和人们对电能质量要求的提高,电能质量在线监测装置在电力系统中得到广泛应用。目前,市场上的在线监测装置主要分为A类和B类两种类型,A类和B类在线监测装置主要区别在于应用场景、技术参数、通讯协议和扩展性。选择时应根据实际需求和应用场景综合考虑,并定期维护和校准。电能质量在线监测装置是用于实时监测电力系统中的电能质量参数的设备。 APView400电能质量A类在线监测装置以其多核

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧