自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IoT小能手

twowinter的学习小站 | 物联网技术及心得分享

  • 博客(278)
  • 资源 (8)
  • 收藏
  • 关注

翻译 CoAP协议学习笔记 3.2 CoAP协议翻译 DTLS加密

CoAP协议学习笔记可点此查看。1 前言在 CoAP 协议 RFC7252 的第9章 Securing CoAP ,即是本译文内容。2 协议翻译9.1 DTLS加密正如使用TCP上的传输层加密协议(TLS)保护HTTP一样,CoAP使用UDP上的数据报TLS协议(DTLS)[RFC6347]来进行加密。 本节定义了对DTLS的CoAP绑定,以及适用于受限环境的最小必...

2018-05-14 14:56:40 5211

翻译 CoAP协议学习笔记 3.1 CoAP协议翻译 加密基础介绍

CoAP协议学习笔记可点此查看。1 前言在之前的学习中,没有过多关注加密。但实际部分厂家的IoT平台(阿里云、OneNET)已经启用了相关安全处理,有必要深入学习下。在 CoAP 协议 RFC7252 的第9章 Securing CoAP ,即是本译文内容。2 协议翻译本节描述了 CoAP 的 DTLS 绑定。在配置(provisioning)阶段,要提供给CoAP...

2018-05-14 14:55:14 1672

原创 阿里云IoT平台CoAP接入 4 高级版CoAP协议接入测试

这篇笔记涉及 阿里云CoAP接入,CoAP协议学习笔记可点此查看。1 前言2.3 阿里云IoT平台接入 了解下物模型完成了高级版接入所必须的物模型概念的梳理。这篇笔记将会修改SDK,完成高级版产品(烟感设备为例)的协议接入。2 设备属性准备3 SDK代码4 平台结果5 其他说明阿里云的数据展示 您好,从后台看数据已经正确上报了,调试中...

2018-05-11 00:34:38 4232

原创 阿里云IoT平台CoAP接入 3 了解下物模型

这篇笔记涉及 阿里云CoAP接入, CoAP协议学习笔记可点此查看。1 前言上一篇使用基础版产品进行接入,此种应用,阿里云IoT平台作为一个数据管道。另外阿里云物联网套件中还提供了高级版产品,使用物模型(TSL)来细化产品定义,可以在阿里云平台直接操作产品。物联网套件高级版中,对物理空间中的实体进行了数字化建模,物理实体可以是各类传感器、车载装置、工业切片机等,也可以是“楼宇”...

2018-05-11 00:25:04 9086

原创 阿里云IoT平台CoAP接入 2 基础版CoAP协议接入测试

这篇笔记涉及 阿里云CoAP接入,CoAP协议学习笔记可点此查看。1 前言上篇笔记完成了云端产品功能定义,并生成了相应的设备证书。这篇笔记将会跟着教程走,使用 Ubuntu 对 SDK 编译验证,先完成基础版产品的上线。官方教程默认使用MQTT进行接入,而关于 NB-IoT CoAP接入则在另一篇官方教程,具体见阿里云物联网套件 > 设备开发指南 &a

2018-05-11 00:05:08 7030

原创 zephyr笔记 2.5.4 消息队列

1 前言消息队列是实现简单消息队列的内核对象,允许线程和ISR异步发送和接收固定大小的数据项。我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。2 概念可以定义任何数量的消息队列。 每个消息队列都由其内存地址引用。消息队列具有以下关键属性:已发送但尚未收到的数据项的环形缓冲区。数据项大小,以...

2018-05-03 00:09:31 1343

原创 zephyr笔记 2.5.3 栈

1 前言堆栈是实现传统的后进先出 (LIFO) 队列的内核对象,允许线程和ISR添加和移除有限数量的32位数据值。我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。2 概念可以定义任何数量的堆栈,每个堆栈都由其内存地址引用。堆栈具有以下关键属性:已添加但尚未删除的32位数据值的队列。队列使用3...

2018-05-03 00:06:30 751

原创 zephyr笔记 2.5.2 LIFOs

1 前言lifo是实现传统的后进先出(LIFO)队列的内核对象,允许线程和ISR添加和删除任何大小的数据项。我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。2 概念可以定义任何数量的lifo,每个lifo都由其内存地址引用。lifo具有以下关键属性:已添加但尚未删除的数据项目队列。队列被实现...

2018-05-03 00:05:27 571

原创 zephyr笔记 2.5.1 FIFOs

1 前言fifo是实现传统先进先出(FIFO)队列的内核对象,允许线程和ISR添加和删除任何大小的数据项。我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。2 概念可以定义任何数量的fifos。 每个fifo由其内存地址引用。fifo具有以下关键属性:已添加但尚未删除的数据项目队列。队列为一个...

2018-05-03 00:04:20 1147

原创 zephyr笔记 5.3.1 Zephyr 版本 MCUboot 的编译和使用

1 前言这一节是翻译自 MCUboot 网站上 MCUboot with Zephyr 。MCUboot 最初是 Mynewt 的引导程序。此后,它也成为了 Zephyr 的引导程序。Zephyr 的应用程序在编译方式存在较大大的差异,这里将会记录这些不同之处。有关 bootloader 的设计和操作文档,请参阅设计文档。这个功能在所有支持的 RTOS 上都是一样的。我正在学习 Z...

2018-05-02 16:05:52 4383

原创 zephyr笔记 5.3 设备固件升级DFU

1 前言设备固件升级子系统提供必要的框架以在运行时升级基于Zephyr的应用程序的映像。 它目前由两个不同的模块组成:boot /:引导加载程序的接口代码 img_util /:镜像管理代码DFU子系统处理镜像管理,但不涉及将镜像发送到目标设备所需的传输或管理协议本身。有关这些协议和框架的信息,请参阅管理部分。我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,...

2018-05-02 16:03:55 1646

原创 zephyr笔记 2.4.3 Alerts

1 前言alert是一个内核对象,允许应用程序在关注的条件发生时执行异步信号传输。我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。2 概念可以定义任意数量的 alert。 每个 alert 都由其内存地址引用。alert 具有以下关键属性:alert处理程序,用于指定在发出警报时要执行的操作...

2018-04-28 23:10:40 574

原创 zephyr笔记 2.4.2 互斥锁

1 前言互斥锁是实现传统重入互斥体的内核对象。互斥锁允许多个线程通过确保对资源的互斥访问来安全地共享相关的硬件或软件资源。我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。2 概念可以定义任何数量的互斥锁。 每个互斥量都由其内存地址引用。互斥锁具有以下关键属性:锁定计数,指示互斥锁已被锁定的线...

2018-04-28 23:09:19 796

原创 zephyr笔记 2.4.1 信号量

1 前言信号量是实现传统计数信号量的内核对象。我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。2 概念可以定义任意数量的信号量。 每个信号都由其内存地址来引用。信号量具有以下关键属性:指示信号可以被采用的次数的计数。 计数为零表示信号量不可用。指示信号量可以达到的最大值的限制。信号量...

2018-04-28 23:07:36 2192

原创 zephyr笔记 2.3.3 堆内存池

1 前言堆内存池是一个预定义的内存池对象,它允许线程以类似 malloc() 方式从公共内存区域动态分配内存。我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。2 概念只能定义一个堆内存池。与其他内存池不同,堆内存池不能使用其内存地址直接引用。堆内存池的大小是可配置的。支持以下大小:256字节,10...

2018-04-28 23:01:28 581

原创 zephyr笔记 2.3.2 内存池

1 前言内存池是一个内核对象,它允许从指定的内存区域动态分配内存块。 内存池中的内存块可以具有任意大小,从而在应用程序需要为不同大小的数据结构分配存储空间时减少浪费的内存量。 内存池使用 “buddy memory allocation ”算法将较大的块有效地分割为较小的块,从而可以有效地分配和释放不同大小的块,同时限制内存碎片问题。我正在学习 Zephyr,一个很可能会用到很多物联网设备...

2018-04-28 22:59:36 674

原创 zephyr笔记 2.3.1 Memmory Slabs

1 前言memory slab 是一个内核对象,它允许从指定的内存区域动态分配内存块。 memory slab 中的所有内存块都有一个固定大小,可以高效地分配和释放它们,避免出现内存碎片问题。我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。2 概念可以定义任意数量的 memory slab。每个 me...

2018-04-28 22:58:33 745

原创 zephyr笔记 2.2.2 定时器

1 前言计时器是一个内核对象,它使用内核的系统时钟来度量时间的流逝。 当达到定时器的指定时间限制时,它可以执行应用程序定义的操作,或者它可以简单地记录到期并等待应用程序读取其状态。我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。2 概念可以定义任意数量的定时器。每个定时器都由地址引用。计时器具有以...

2018-04-28 22:57:21 1857

原创 zephyr笔记 2.2.1 内核时钟

1 前言我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。2 概念内核支持两个不同的时钟。32位硬件时钟是一个高精度计数器,可以跟踪若干个周期时间,但这个周期不能指定单位。一个周期的持续时间取决于内核使用的电路板硬件,通常以纳秒为单位进行测量。64位系统时钟是一个计数器,用于跟踪自内核初始化以来已经...

2018-04-28 22:56:05 1283

原创 CoAP协议学习笔记 1.3 用UDP工具来调试CoAP

1 前言CoAP的调试,目前没找到好用的工具,网上说的火狐插件现在也不能用了,多希望手头的TCP/UDP网络调试工具就可以支持。既然CoAP是基于UDP来组包的,那肯定是可以实现。所以这篇文章给研究 CoAP 的伙伴们带来我琢磨出的一套手动组包调试方案。虽然效率不高,但至少能用。而且一个显而易见的好处是,它将使我们加深对 CoAP 消息格式的理解。小能手正在学习 CoAP 协议,其...

2018-04-25 18:25:10 9136 3

原创 CoAP协议学习笔记 1.2 一张表了解 CoAP 协议

1 前言对于CoAP协议的学习,这份100多页的文档肯定没法背下来。我们只需把协议当作工具书,大体知道主体的内容,在遇到细节问题时再去具体章节找问题。本篇笔记中先对 CoAP 协议内容做个基础了解,然后搬出重量级干货《coap-cheatsheet_note.pdf》,最后展示出协议附录中的示例。这是本能手的学习记忆路线,希望对您有所帮助。小能手正在学习 CoAP 协议,其他物联网...

2018-04-25 14:53:27 7545 1

原创 CoAP协议学习笔记 1.1 为什么物联网要使用 CoAP 协议

1 前言前几年,Json比较火的时候,和朋友在讨论项目协议时就在感慨,要是咱们的这些设备都能走Json,那该多爽。由于HTTP协议对于物联网设备实在是太铺张了,我们只好作罢。知识限制了我们的想象力,CoAP 就是这样的存在。小能手正在学习 CoAP 协议,其他物联网应用协议学习笔记可点此查看。2 什么是CoAP?在 CoAP 协议 RFC7252 首页的介绍能让大家有所理解...

2018-04-25 14:49:01 8175

原创 阿里云IoT平台CoAP接入 1 开发准备

这篇笔记涉及 阿里云CoAP接入,其他物联网应用协议学习笔记可点此查看。1 开通物联网套件本节内容主要来自于阿里云官网,阿里云物联网套件 > 快速开始 > 高级版快速开始 > 开发准备。开通之前先看看阿里云怎么收费。100万条消息收费3.6元每月赠送100万消息数,从当

2018-04-23 23:42:05 5977

原创 CoAP 协议学习

物联网应用协议学习本来不打算做这个笔记的,因为这些东西很老了,并且网上已经很泛了。但是在开发工作中还是陆陆续续有了一些新的发现,譬如新的阐述、有趣的内容、或者有更好的梳理总结。就像每一段时光都值得被好好记录,每一次闪现的灵光都不应消失在碎片化记录中。于是有了这一系列笔记,这是我的物联网应用协议知识体系。第一部分 TCP/IP基础《TCP/IP详解》是2000年机械工业出版社...

2018-04-23 23:34:57 4919

原创 zephyr笔记 2.1.5 工作队列线程

我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。1 前言工作队列是一个内核对象,它使用专用线程以先进先出的方式处理工作项目。 通过调用工作项目指定的功能来处理每个工作项目。 ISR或高优先级线程通常使用工作队列来将非紧急处理卸载到较低优先级的线程,因此不会影响对时间敏感的处理事务。http://docs....

2018-04-18 22:10:35 2350 1

原创 zephyr笔记 2.1.4 系统线程

我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。1 前言系统线程是内核在系统初始化时自动产生的线程。http://docs.zephyrproject.org/kernel/threads/system_threads.html2 概念内核产生以下系统线程。2.1 主线程该线程执行...

2018-04-18 22:09:38 864

原创 zephyr笔记 2.1.3 线程的自定义数据

我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。1 前言这节将会描述Zephyr线程的一个特殊功能,自定义数据。http://docs.zephyrproject.org/kernel/threads/custom_data.html2 概念每个线程都有一个32位的自定义数据区。 自定义数据只...

2018-04-18 22:08:55 794 1

原创 zephyr笔记 2.1.2 线程的调度

我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。1 前言Zephyr 使用基于优先级的调度器来让应用线程们共享CPU。http://docs.zephyrproject.org/kernel/threads/scheduling.html2 概念2.1 线程状态线程未就绪可能受如下影响...

2018-04-16 23:46:30 2011

原创 zephyr笔记 2.1.1 线程的生命周期

我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。1 前言这节将会描述线程的创建,调度以及删除操作。http://docs.zephyrproject.org/kernel/threads/lifecycle.html2 概念概念不复制了。3 操作3.1 Spawning a T...

2018-04-16 23:44:03 1993

原创 zephyr笔记 1.5 hello world

1 前言在前一篇中学习了开发基础,接下来就开始玩些简单的程序。这篇先研究下 内核例程1 Hello World。我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。2 例程效果cd %ZEPHYR_BASE%\samples\hello_worldmkdir build & cd bui...

2018-04-16 23:42:43 1098

原创 zephyr笔记 1.4 在 NUCLEO_L073RZ 上运行 zephyr

1 前言我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。Zephyr目前已经支持很多硬件了,具体的可以到这里看: http://docs.zephyrproject.org/boards/boards.html#boards由于手头现成的有 NUCLEO_L073RZ,所以本节用它来做些动手尝试。N...

2018-04-12 18:58:39 1030

原创 zephyr笔记 2.1 应用程序开发基础

1 前言本篇笔记先做些应用开发的基础准备工作,官网英文教程见此。官方把这个教程放偏后的位置,导致我之前自己去学习 Cmake 和 Ninja 的相关知识,多做了一些重复工作。我正在学习 Zephyr,一个很可能会用到很多物联网设备上的操作系统,如果你也感兴趣,可点此查看帖子zephyr学习笔记汇总。2 概览Zephyr 根目录包含源码,内核配置选项以及编译定义。 根目录下...

2018-04-12 12:04:07 1998

原创 ESP8285烧写问题备忘

1 问题现象ESP8285 烧写了固件,怎么都跑不起来,串口打印如下信息: ets Jan 8 2013,rst cause:2, boot mode:(3,7)load 0x4010f000, len 1384, room 16 tail 8chksum 0xefcsum 0xefcsum errets_main.c 2 问题原因上乐鑫官网查了 ESP82...

2018-04-11 20:44:31 5161 2

原创 zephyr笔记 1.3 开发环境的拓展了解

本节对编译过程中的 Cmake 和 Ninja 做个拓展了解,这也是官方教程没体现的部分。Cmake 是做编译准备,生成 ninja 所需的相关文件。Ninja 接着出马,编译、调试、烧写等等统统搞定。

2018-03-27 20:44:14 2941

原创 zephyr笔记 1.2 软件开发环境准备

Zephyr 是使用 Cmake 和 Ninja 进行编译,在这篇笔记里,学习如何搭建 Zephyr 开发所必须的软件开发环境。

2018-03-27 19:53:01 2951 1

原创 zephyr学习笔记汇总

原本 contiki 在本能手心中是排名第一的物联网系统,直到 zephyr 的出现。2016年2月推出的这个开源项目,在 Linux 基金会的扶持下,短短时间内已经支持了几十款的嵌入式硬件,厂家支持力度大,社区活跃,展现了强大的活力。这在其他操作系统上是看不到的,本能手隐隐觉得它很有可能会成为物联网操作系统的事实标准。潮流很重要,有幸见证并且加入这个进程,应该会收获很多。这系列笔记是...

2018-03-27 19:45:46 12066

原创 深度报道 第1个从太空发回的LoRa信号(含视频)

1 前言 本文作者 IoT小能手 twowinter,转载请联系微信公众号 twowinter。这是一篇关于全球首个从太空发回LoRa信号的深度报道,你可能已经在一些渠道里得知了这个令人无比兴奋的消息。但在这篇报道里你会获得一些更深入,与技术更相关的细节。在今年1月底的时候本能手就知道有大事发生,The Things Network (TTN) 的小伙伴给我发了一张会议邀...

2018-03-23 14:39:38 3419 5

原创 Go笔记2.2 这儿有包了解一下

1 前言先生,Go语言里有个包,进来了解一下吧。包是结构化代码的一种方式:每个程序都由包(通常简称为 pkg)的概念组成,可以使用自身的包或者从其它包中导入内容。如同其它一些编程语言中的类库或命名空间的概念,每个 Go 文件都属于且仅属于一个包。一个包可以由许多以 .go 为扩展名的源文件组成,因此文件名和包名一般来说都是不相同的。 我正在学习酷酷的 Golang,可点此查看帖...

2018-03-23 14:27:02 645 1

原创 Go笔记 2.1 第1个程序 helloworld

我正在学习酷酷的 Golang,可点此查看帖子Golang学习笔记汇总。1 程序介绍在 C:\Go\test 目录下,有一堆官方提供的示例。找到大部分教程都推荐的第1个程序,helloworld.go。package mainfunc main() { print("hello, world\n")}发现没有,每个语句不需要像 C 家族中的其它语言一样...

2018-03-23 14:25:23 553

原创 Go笔记 1.2 IDE工具

我正在学习酷酷的 Golang,可点此查看帖子Golang学习笔记汇总。IDE工具介绍1 Goglandhttps://www.jetbrains.com/go/这是官方推荐的工具,由大名鼎鼎的jetbrains开发,现阶段免费。而我又不想在VS等等里面装插件。懒得找了,直接装Goland。未完待续End...

2018-03-23 14:22:38 434

一张表了解 CoAP 协议

国外网友有一张 CheatSheet,把CoAP的主体内容都涵盖进来。我在上面增加了一些备注,方便消化理解。

2018-04-25

LoRaWAN RegionalParameters v1.0.2

LoRaWAN地区参数更新至版本B,新增印度865频段

2017-06-24

ISD9160 Oscar-Numaker Plus 简易操作手册

大联大ISD9160评估板的开发手册

2017-05-18

LoraLowEnergyDesign_STD.pdf

LoRa低功耗设计指南,涉及空中唤醒CAD等功能

2017-02-16

LoRaWAN102下载

LoRaWAN协议规范 V1.0.2 版本(2016年7月定稿). [LoRa学习笔记_汇总](http://blog.csdn.net/iotisan/article/details/53930458)

2017-02-14

CC1350 BLE OAD Project 0

C1350 BLE OAD Project 0

2017-02-08

ESP8266_Build_Environment_Guide.pdf

ESP8266_Build_Environment_Guide

2017-02-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除