- 博客(74)
- 资源 (2)
- 收藏
- 关注
原创 Day6: platformDriver-2
在上文中说到,Linux kernel中大部分设备可以归结为平台设备,因此大部分的驱动是平台驱动(patform driver)而对于I2C控制器, 其挂载在platform Bus上,因此我们在linux kernel中常说的I2C driver,都是指I2C controller driver,都是以platform driver的形式存在,当然,对应的控制器是platform device。
2023-03-12 15:47:24 304
原创 Day3: uboot - 1
uboot 的全称是 Universal Boot Loader,uboot 是一个遵循 GPL 协议的开源软件,uboot 是一个裸机代码,可以看作是一个裸机综合例程。现在的 uboot 已经支持液晶屏、网络、USB 等高级功能。
2022-10-23 21:00:34 695
原创 Day2: 正点原子 imx交叉编译环境搭建
正点原子提供两种交叉编译工具链。这两种交叉编译工具链解释如下图。第一种 Poky 编译器是Yocto 项目编译出的,常用于编译Uboot和Linux出厂源码, 及快速编译Qt应用程序到开发板上运行。第二种通用的交叉编译器用于ARM linux驱动,应用开发。
2022-10-16 20:18:16 908
原创 SubGHz, LoRaWAN, NB-IoT, 物联网
在说起NB-IOT,LoRaWAN 之前,先看个定义低功耗广域物联网(LPWAN).在智能家居、工业数据采集等局域网通信场景一般采用短距离通信技术,但对于广范围、远距离的连接则需要远距离通信技术。LPWAN技术正式为满足物联网需求应运而生的远距离无线通信技术。LPWAN(low power wide area network),低功耗广域网络,专为低带宽、低功耗、远距离、大量连接的物联网应用而设计。LPWAN可分为两类:一类是工作于未授权频谱的LoRa...
2022-07-02 10:40:53 2530
原创 可编程DDC控制器的实现 (1)
要实现一个可编程DDC控制器需要怎么做?首先,什么是可编程DDC控制器? 和PLC有什么区别?比较详细的解释如下应用领域:PLC最初的设计目标只是替代复杂的继电器电路,DDC最初只用于工业自动化仪表;PLC强调通用性,DDC强调专用性;PLC应用在工业控制领域,DDC应用在专业楼宇系统。结构差别:DDC是一种“分散式控制系统”,组成的系统是分层的结构,可以实现点对点的通讯,而PLC只是一种控制“装置”,常用于生产线上某个部位的控制,组成的系统通过特有协议的现场总线连接,PLC通过上位机与其他PL
2022-01-22 23:05:48 5812
原创 DDC控制器简介
了解DDC控制器之前,先看BAS。BAS楼宇自动化系统 Building Automation System是将建筑物或建筑群内的电力、照明、空调、给排水、消防、运输、保安、车库管理设备或系统,以集中监视、控制和管理为目的而构成的综合系统。楼宇自动化系统通过对建筑(群)的各种设备实施综合自动化监控与管理,为业主和用户提供安全、舒适、便捷高效的工作与生活环境,并使整个系统和其中的各种设备处在最佳的工作状态,从而保证系统运行的经济性和管理的现代化、信息化和智能化。BAS一般可以分成几个层次,1. 工作
2022-01-09 17:48:48 10206
原创 树莓派搭建NTP Server/Client
前文记录了树莓派安装ubuntu core安装通过snap安装可以非常容易的搭建NTP server/Client.snap 安装包 chroy-git, 链接地址,https://snapcraft.io/chrony-gitVersatile implementation of the Network Time Protocol (NTP)chrony is a versatile implementation of the Network Time Protocol (NTP). It ca
2022-01-04 20:51:56 662
原创 风机盘管介绍,及其控制 (1)
什么是风机盘管,它是做什么的?它是如何工作的?风扇盘管单元是由风扇、盘管和其他部件组成的相对较小的设备,用于冷却或加热房间内循环的空气。有些还会为空间增添新鲜空气。这些风扇盘管单元很常见,可以在大多数商业或住宅应用中找到。我们经常在办公室或者酒店房间里面看到的风机盘管单元的样子.揭开天花板,看到的样子。 它们除了可以选择安装在隐藏在天花板,也可以暴露天花板外,地板下,或垂直安装靠墙。 风机盘管按形式分可分为卧式安装、卧式明装、立式暗装、立式明装、卡式五种。再剥开看到的样子拆开的样子盘管和
2022-01-03 18:41:32 2311
原创 树莓派搭建NTP server
需要在内网搭建一个NTP server, 大致的示意图如下IT 网络上的设备能够最为NTP Client 和公网的NTP server 同步。同时其作为内网的NTP server 给内网的IoT设备同步。这里用树莓派做个测试。包括3个部分树莓派安装ubuntu core安装NTP snap测试树莓派安装ubuntu core下载镜像https://ubuntu.com/download/raspberry-pi-core安装准备SD卡format copy 镜像
2021-12-31 11:24:17 3696
翻译 Wi-Fi Mesh (2) mesh BSS
5.2.14.1总述IEEE 802.11 mesh提供MAC增强,以支持无线局域网网状网(mesh)拓扑。mesh功能可用于属于mesh BSS (MBSS)中的mesh STA。对于mesh STA来说,没有成为MBSS的成员时,只有mesh发现服务可用。区分开mesh STA和非mesh STA的功能的合集统称为“mesh功能”。实现mesh功能的具体机制可能各不相同。5.2.14.2 网格BSS概述mesh BSS是一个由自治STA组成的IEEE 802.11局域网。在mesh BSS内,所有
2021-12-26 19:31:58 621
原创 走马观花看ubuntu core 20
在树莓派4上安装了ubuntu core 20, 走马观花看看文件目录scp看到的根文件系统如下最明显的是多了一个snap. 这里是安装的snap包。包括如下子目录/snap/bin - Symlinks to snap applications./snap// - Mountpoint for snap content./snap//current - Symlink to current revision, if enabled.ssh登陆看到
2021-12-19 23:17:31 1139
原创 wi-fi 基础知识
Wi-Fi 基础知识,Wi-Fi Mesh, Wi-Fi 6这篇我们学习一下Wi-Fi的基础知识,顺便再了解一下Wi-Fi Mesh, 以及Wi-Fi 6.上面的话如果换成"黑话"再来一遍,这篇我们学习一下802.11协议的基础知识,顺便再了解一下8023.11s, 以及802.11ax.我们先来梳理一下802.11协议一族。简介802.11协议主要是对Layer1(物理层)和Layer2(数据链路层)两层进行定义,从无线网卡进来的包携带的是无线报文头部,从有线网卡进来的包携带是有线报文头部,两
2021-12-16 23:21:20 1921
原创 蓝牙串口实现
我们说蓝牙串口,一般是用于手机App 和嵌入式设备之间通信。有两种实现方式Bluetooth SPPBLE GATTBLE GATT 并没有定义标准的Profile用于串口通信。但是BLE相对嵌入式设备更常见,因此基于GATT的串口通信更常见。https://developer.nordicsemi.com/nRF51_SDK/nRF51_SDK_v7.x.x/doc/7.2.0/s110/html/a00061.html如上链接中是个nordic 的例子例子中定了一个Nordic UART
2021-12-05 19:37:49 9291
原创 snap入门
笔记重要notes:MLO,uboot.img 和原来一样bare type放到mmc的指定位置。system-boot区中是kernel-snapinitrd在kernel-snap中通过ubuntu-image生成 bootable image, (包括gadget snap, kernel snap, core snap 以及其他app snap), 通过dd烧写image到sd card(或emmc)1 简介.ubuntu core 由4 类snap 构成,gadget sna
2021-12-05 16:51:03 2842
原创 epoll在MQTT broker mosquitto中的运用
什么是epollepoll是什么?按照man手册的说法:是为处理大批量句柄而作了改进的poll。当然,这不是2.6内核才有的,它是在2.5.44内核中被引进的(epoll(4) is a new API introduced in Linux kernel 2.5.44),它几乎具备了之前所说的一切优点,被公认为Linux2.6下性能最好的多路I/O就绪通知方法。epoll的相关系统调用epoll只有epoll_create,epoll_ctl,epoll_wait 3个系统调用。int epol
2021-12-01 20:34:14 3684
原创 BACnet安全连接(BACnet/SC) 介绍
BACnet安全连接(BACnet/SC)是ASHRAE BACnet委员会最近发布的BACnet协议的增编。是在增编135-2016bj中介绍的。它基于一个安全的、加密的数据链路层。 专门设计以满足不同IP基础结构。对BACnet通信使用标准化的、通常已经存在的IP网络基础设施的需求正在增加,BACnet/SC的安全性正是满足这种需求,构建IoT网络(构建物联网-Biot)的一个关键部分。那么为什么需要BACnet/SC ?简单地说,现有BACnet系统的某些方面有时会出现问题,因为它们偏离了常见的I
2021-11-20 16:20:28 8138
原创 树莓派 Node Red
Node-RED目标:在树莓派上“零编程”快速搭建一个MQTT client 。简介官网https://nodered.org/简介* 基于浏览器的流编辑Node-RED提供了一个基于浏览器的流编辑器,可以使用调色板中广泛的节点轻松地将流连接到一起。然后,只需单击一次,就可以将流部署到运行时。可以使用文本编辑器在编辑器中创建JavaScript函数。内置库允许您保存有用的函数、模板或流以供重用.* 构建在Node.js之上构建在Node.js上的轻量级“运行”,充分利用了它的事件驱动、非阻
2021-11-17 21:59:50 2553
原创 TLS 基础知识 (2)
ECDH,ECDHE, RSA,ECDHA为何要使用对称密钥? 因为对称加密的效率高。TLS是如果实现交换对称密钥的?TLS建立在TCP之上,建立TLS连接前需要TCP4次握手。然后进行TLS连接。在连接中要完成秘钥交换,交换算法不同,握手过程细节也会不同。总结以下曾经出现的类型。依靠事先共享的“秘密”基于密钥协商算法基于RSA基于DHE基于ECDHE安全性而言,RSA, DHE, ECDHE 其安全性是递加的。ECDHEECHDE 中的 E 代表着「短暂的」,是指交换的密
2021-10-31 19:39:22 2211
原创 TLS 基础知识 (1)
在学习TLS的握手过程之前,先复习一些基础知识。基础知识对称加密算法对称加密算法的特点是加密密钥和解密密钥是同一把密钥K,且加解密速度快,典型的对称加密算法有DES、AES等非对称加密算法非对称加密算法的特点是使用一对可互为加解密的密钥。一个自己保留,不能让其他人知道,叫私钥。一个可以公开,叫公钥加密密钥(即公钥)PK是公开信息,而解密密钥(即私钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK 。典型的非对
2021-10-17 20:21:40 3141
原创 边做边学 之 树莓派系列 - MQTT (1)
边做边学 之 树莓派系列 - MQTT (1)MQTT 简介MQTT的拓扑结构MQTT的应用MQTT的应用标题有点长。 这个系列以树莓派为锚。MQTT是网络的主干。BLE,enocrean 以及其他一些现场总线(fieldbus) 是分支。我们先从MQTT协议入手。树莓派上跑MQTT不管是client还是Broker在网上都已经有不少教程,非常容易,不用一个小时跑起来。但我们自然是不单满足于此。果断往细了学(要不这个系列很快就没货了), 最后学以致用,搭平台验证。MQTT 简介MQTT(Message
2021-10-13 21:54:36 1251
原创 蓝牙学习(9) GATT
pi@raspberrypi:~ $ sudo gatttool -b 54:6C:0E:80:B4:86 --interactive[54:6C:0E:80:B4:86][LE]> connectAttempting to connect to 54:6C:0E:80:B4:86Connection successful[54:6C:0E:80:B4:86][LE]> cha...
2018-10-14 23:41:55 838
原创 蓝牙学习 (8)配对raspberryPi和SensorTag CC2650
在上一篇中,用raspberryPi能够扫描到Ti SensorTag. 但是没有获得更多的数据,并且发现sensor Tag并没有回复scan request。https://blog.csdn.net/feiwatson/article/details/82946621这里我们利用gatttool来配对。...
2018-10-05 21:51:27 626
原创 蓝牙学习 (7) - raspberrryPi 扫描TI sensorTag
前面几篇分别简单涉及了raspberryPi上bluezBLE snifferTI SensorTaghttps://blog.csdn.net/feiwatson/article/details/81590397https://blog.csdn.net/feiwatson/article/details/82942416https://blog.csdn.net/feiwatso...
2018-10-05 20:11:10 557
原创 蓝牙学习 (6) - Play with TI sensorTag (1)
硬件cc2650 SensorTagConnect with App在手机上安装Ti提供的sensorTag App即可和sensorTag 建立连接。如下手机截图,
2018-10-05 17:08:01 413
原创 Bluefruit LE Sniffer - Bluetooth Low Energy (BLE 4.0) - nRF51822 驱动安装及使用
BLE Snifferhttps://www.adafruit.com/product/2269Bluefruit LE Sniffer - Bluetooth Low Energy (BLE 4.0) - nRF51822nrf51822模块https://cdn-shop.adafruit.com/product-files/2267/MDBT40-P256R.pdf驱动安装...
2018-10-05 10:13:47 3908
原创 proto_ops和proto区别
**proto_ops:**该结构体包含了某个特定的“protocol family"的一系列functions。 其包含的functions和struct proto很类似,但是其在socket层。例如,inet_stream_ops对应SOCK_STREAM, inet_dgram_ops对应SOCK_DGRAM当socket相关的systemcall发生时, 首先从"proto_ops"...
2018-09-20 14:35:05 1833
原创 python 中requests 模块用py2exe生成exe后SSL certificate exception的问题
[('system library', 'fopen', 'No such process'), ('BIO routines', 'BIO_new_file', 'no such file'), ('x509 certificate routines', 'X509_load_cert_crl_file', 'system lib')]解决: 1) Place the below code...
2018-08-24 16:53:55 493
原创 蓝牙学习(5) -- sockets
Frames由下图可以看出 - SDU由多个I-frames中的Information Payload组成 - 一个I-frames又拆分成多个HCI data payloadsocket bufferssk_buff
2018-08-20 15:06:47 240
原创 蓝牙学习(4) -- L2CAP
L2CAP in protocol首先看一下L2CAP在Bluetooth protocol architecture diagram中的位置: Features of L2CAPLogical Link Control and Adaptation Protocol (L2CAP) 主要有如下功能:Segmentation L2CAP层接收的frames最长为64K...
2018-08-20 11:41:45 635
原创 蓝牙学习(3) Linux kernel部分Bluetooth HCI分析
在上文,https://blog.csdn.net/feiwatson/article/details/81712933中主要理解了在Kernel中USB adapter是如何实现USB设备驱动,以及HCI数据是通过不同的pipes和host通信的。Control pipes are used to transport HCI commands. Interrupt pipes are r...
2018-08-16 16:45:27 1758
原创 蓝牙学习(2)USB Adapter
主要分析一下蓝牙USB Adapter使用USB接口传输HCI包的实现及过程。 主要包括三部分:Linux USB layer (drivers/usb/*)HCI USB transport driver (drivers/bluetooth/hci_usb.c)BlueZ protocol stack (net/bluetooth/*)(待续)...
2018-08-15 23:30:22 2230 1
原创 蓝牙bluez学习(1) Stack Architecture
Bluez支持的featuresCore Specification 4.2 (GAP, L2CAP, RFCOMM, SDP, GATT) Classic Bluetooth (BR/EDR)Bluetooth Smart (Low Energy)Audio and media (A2DP, AVRCP)Telephony (HFP, HSP)Networking (PAN, 6...
2018-08-15 16:02:53 1347
原创 Release Python Program as exe
py2exe 可以用来将python program 以exe的形式发布。安装py2exe对于python 3.x pip install py2exe 可以直接安装对于python 2.7, 需要下载exe安装, https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/这里详细记录一下python2...
2018-08-15 15:21:40 319
原创 树莓派 - 蓝牙 (1) 试试Beacon
bluez安装 sudo apt-get install bluezhciconfig查看蓝牙设备pi@raspberrypi:~ $ hciconfighci0: Type: Primary Bus: UART BD Address: B8:27:EB:26:23:F1 ACL MTU: 1021:8 SCO MTU: 64:1 UP RUNNI...
2018-08-11 20:09:51 3609
原创 树莓派 - RasberryPi推送数据到cloudMQTT
创建用户在https://www.cloudmqtt.com/上创建一个帐户 转到右上角的控制面板 点击“创建”按钮安装libsudo pip install paho-mqtt注:不加·sudo可会有如下一些错误Exception:Traceback (most recent call last): File "/usr/lib/python2.7/dist...
2018-08-08 23:13:51 903
chrony-git.snap
2022-01-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人