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 pin
    if (mypin.is_connected()) {
        printf("mypin is connected and initialized! \n\r");
    }

    // Optional: set mode as PullUp/PullDown/PullNone/OpenDrain
    mypin.mode(PullNone);

    // press the button and see the console / led change
    while (1) {
        printf("mypin has value : %d \n\r", mypin.read());
        myled = mypin; // toggle led based on value of button
        ThisThread::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 pin
    if (myled.is_connected()) {
        printf("myled is initialized and connected!\n\r");
    }

    // Blink LED
    while (1) {
        myled = 1;          // set LED1 pin to high
        printf("myled = %d \n\r", (uint8_t)myled);
        ThisThread::sleep_for(500);

        myled.write(0);     // set LED1 pin to low
        printf("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/OpenDrain
    nibble.mode(PullNone);

    while (1) {
        // check bits set in nibble
        switch (nibble & nibble.mask()) { // read the bus and mask out bits not being used
            case 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读取器、云端数据分析和可视化示例、实时信号处理文章来源地址https://www.toymoban.com/news/detail-819743.html

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

到了这里,关于FRDM‐K64F开发板 ARM Mbed 在线编译器嵌入式和物联网开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在win10上,配置 Rust 开发环境(使用 mingw64编译器) 和 idea 配置 Rust 插件

    2.1、编译器 mingw 与 visual studio 之间的选择 Rust 底层是依赖C/C++的 编译器,所以需要先安装C/C++编译环境。 Windows上C/C++ 的 编译器 有两种: 微软 的 Visual Studio (msvc) GNU 的 Mingw (gnu): 官网地址:https://www.mingw-w64.org/ Rust 默认使用的是 Visual Studio, 使用默认选项就能安装上,

    2024年02月02日
    浏览(52)
  • 使用arm-none-eabi-gcc编译器搭建STM32的Vscode开发环境

    make:Windows中没有make,但是可以通过安装MinGW或者MinGW-w64,得到make。 gcc-arm-none-eabi:建议最新版,防止调试报错 OpenOCD vscode cubeMX Arm Assembly:汇编文件解析 C/C++:c语言插件 Cortex-Debug:调试插件 gcc-arm-none-eabibin OpenOCDbin 建议MinGW-make工具重命名为make.exe并添加到gcc-arm-none-eabi

    2024年02月06日
    浏览(52)
  • 『STC8H8K64U』概述

            大家好,我是初尧.C。希望看完这篇文章对你能有所帮助,不足之处请指正~📝         本文由初尧.C 原创 CSDN首发 如需转载还请通知🚫         📌无端坠入凡生梦. 却惹三千烦恼丝📌         欢迎各位💘点赞+收藏+留言💖         系列专栏― STC8H8K64U🎨     

    2024年02月05日
    浏览(41)
  • STC8H8K64U单片机PWM配置

    STC8H8K64U单片机配置PWM的通道1、通道2、通道7、通道8。STC8可以分为两组PWM,PWMA和PWMB,在使用时,如果同时使用了两组,那么两组的寄存器需要同时配置。 边沿对齐 PWM输出频率 = 系统工作频率 / (PWMx_PSCR + 1) * (PWMx_ARR + 1); 中间对齐 PWM输出频率 = 系统工作频率 / (PWMx_PSCR + 1) *

    2024年02月11日
    浏览(43)
  • STC8H8K64U单片机-ADC采集数

    配置单片机的ADC时一定要将IO口配置成高阻输入模式, 以下是单片机引脚对应的ADC通道  

    2024年02月07日
    浏览(41)
  • 基于STC8A8K64SD4的蓝牙小车

    为了检测自己学习51单片机的成果,制作了一个简单的蓝牙小车,特此来记录一下。 本文会讲解HC-05,L298N电机驱动的使用,12V转5V这个模块比较简单就不做讲解。 废话少说,先上代码!!! main.c PWM.h Timer0.c Timer0.h UART.h  HC-05模块的使用 概述 HC-05蓝牙模块是一种基于蓝牙协议的

    2024年02月09日
    浏览(38)
  • 8051如何仿真,STC8H8K64U自带硬件USB直接仿真

    8051如何仿真,STC8H8K64U自带硬件USB直接仿真,解决8051的仿真问题,USB直接下载用户程序。 STC8H8K64U 系列单片机不仅可以借助STC专用工具—— STC-USB Link1D 和 一箭双雕之USB转双串口/全自动烧录器 进行串口仿真还可以 直接通过芯片自带的硬件USB接口进行仿真、烧录。下面是用自

    2024年02月09日
    浏览(38)
  • 联想拯救者r9000p原装海力士固态4k64位读写慢的解决

    今天加了一块新的固态,之前买笔记本的时候没有跑固态测试,以为没什么问题。然后今天测试新固态的时候顺便一起测试了一下,发现原装盘的4k64位的跑速特别低。 楼主的原装盘型号是 SKHynix_HFS512GDE9X084N 在网上找了半天,有说是软件问题,有说是升级了win11导致的。 楼主

    2024年02月05日
    浏览(200)
  • 物联网|ARM|Keil同时安装Keil的C51、C251和MDK|增加V5编译器|物联网开发系列课程之零基础玩转Cortex-M系列CPU-学习笔记(1)

    1.物联网的定义 利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。 2.物联网的组成 3.物联网应用举例智能家居 1物联网的数据源头 2物联的局域网络源头 1

    2024年02月05日
    浏览(71)
  • Live555 C++ arm linux64 RTSP推流开发

    由于不能apt-get install,所以先官网下载源码。http://www.live555.com/liveMedia/ 解压 tar -zxvf live.2023.07.24.tar.gz 安装可以看这篇博文前部 live555server环境搭建 OpenSSL必须安装 安装时如果直接在arm板子上装,生成makefile时就直接写 不能写成armlinux 如果选成了armlinux,这样make的时候用的就是

    2024年02月03日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包