物联网 IoT 经验分享

三傻大闹宝莱坞——追求卓越
私信 关注
xukai871105
码龄13年

现布勒中国物联网工程师 前阿里云工程师 专注于物联网IoT M2M应用

  • 4,923,449
    被访问量
  • 203
    原创文章
  • 671
    作者排名
  • 4,411
    粉丝数量
  • 于 2008-02-04 加入CSDN
获得成就
  • 博客专家认证
  • 获得1,254次点赞
  • 内容获得1,667次评论
  • 获得1,726次收藏
荣誉勋章
兴趣领域
  • #人工智能
    #数据分析
TA的专栏
  • Kubernetes
    1篇
  • NetCore
    1篇
  • 其他
    20篇
  • 树莓派
    37篇
  • 物联网学习笔记
    61篇
  • Linux学习笔记
    22篇
  • python
    6篇
  • 嵌入式ARM
    25篇
  • 单片机
    28篇
  • 个人计划/个人随笔
    4篇
  • Java与后端开发
    2篇
联系方式
E-mail:172341033@qq.com
所在地: 江苏无锡
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

Windows下通过环境变量设置多个KubeConfig配置文件

复制配置文件只本地推荐保存在 $HOME/.kube路径下,可命名为config-hw.json或config-aliyun.yaml,建议保留原路径中的config。新建一个环境变量环境变量-> 系统变量新建一个名为KUBECONFIG变量。指定Kubernetes配置文件路径和文件名,通过这种方式可以同时指定yaml配置文件和JSON配置文件。例如阿里云Kubernetes配置文件...
原创
1008阅读
1评论
1点赞
发布博客于 10 月前

Windows中安装和配置多个Python3环境

Windows下可以安装多个Python3环境,例如安装两个Python3环境,一个为Python3.7,另一个为Python3.8.通过py进行选择查看可用版本py -0# 输出 *号表示选中 -3.8-64 * -3.7-64选中python 3.7环境#直接启动python3.7 环境py -3.7#使用指定版本运行python脚本py -3.7 python-scr...
原创
705阅读
0评论
0点赞
发布博客于 10 月前

Visual Studio Code中指定netcore启动类

直接编辑csproj文件例如,原启动类为Program,该类位于Program.cs文件中。更改后的启动类为ProgramTask,该类位于ProgramTask.cs文件中。<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType>...
原创
347阅读
0评论
0点赞
发布博客于 10 月前
Entity Framework Core(EF Core) 最简单的入门示例
发布Blink于 1 年前
.Net Core 控制台程序使用EF Core 读写SQLite
发布Blink于 1 年前

PostgreSQL 日期与时间格式

PostgreSQL 日期与时间格式date和timestamp类型select示例insert示例参考date和timestamp类型select示例共三种方法select date '2018-03-05';select '2018-03-05'::date;select to_date('2018-03-05', 'YYYY-MM-DD');select timestamp ...
原创
1200阅读
0评论
0点赞
发布博客于 2 年前

物联网专用数据交换格式CBOR

前言本文将介绍物联网领域的JSON格式——CBOR,CBOR是专门为受限制物联网终端设计的数据交换格式,该格式轻量间接,可以简单理解为二进制形式JSON格式。CBOR格式可以与COAP协议组合使用,犹如HTTP+JSON;另外,CBOR也是COSE的基础。CBOR简述CBOR可分为8个主类型(Major Type),CBOR格式为了定义8种不同的类型,采用首字节的高3位定义主类型。 首字节的...
原创
9766阅读
3评论
3点赞
发布博客于 2 年前

Datagrip连接MySQL数据遇到com.mysql.cj.exceptions.InvalidConnectionAttributeException问题

使用Datagrip连接MySQL数据,用户名和密码正确的情况下,出现以下问题:java.lang.RuntimeException: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represe...
原创
2248阅读
0评论
1点赞
发布博客于 2 年前

新书发布《密码技术与物联网安全:mbedtls开发实战》

内容简介本书是国内第一本理论结合实践的物联网安全书籍,包括数论基础知识、密码学算法、TLS/DTLS协议、物联网安全协议CoAPs等部分。本书试图打破物联网工程师、嵌入式工程师与Web开发工程师之间的知识鸿沟,通过图文并茂的方式说明密码技术与物联网安全。本书具有以下特点:密码学算法部分除了理论知识之外,还包括mbedtls相关工具和示例代码,可以帮助读者更快地理解这些晦涩难懂的密码...
原创
3675阅读
2评论
3点赞
发布博客于 2 年前

Chrome浏览器安装CoAP调试客户端Copper插件

前言由于火狐浏览器56版本之后不再支持Copper插件,本文将介绍如何在Chrome浏览器中安装Copper插件。两个浏览器中使用CoAP插件Copper的方法非常相似。获取Copper4Crr插件把Copper4Cr工具克隆到本地git clone https://github.com/mkovatsc/Copper4Cr.gitwindows环境运行install.bat...
原创
8229阅读
12评论
3点赞
发布博客于 2 年前

Zephyr OS 开发极速入门

Zephyr是由 Linux`基金会托管的开源协作项目,目标是构建一个针对资源受限设备的小型、可裁剪的实时操作系统(RTOS)。Zephyr`项目非常适合构建简单的传感器网络、可穿戴设备以及小型物联网无线网关。系统采用模块化设计,支持多种 CPU`架构,开发人员可以很容易的根据需求定制一个最优的解决方案。
原创
10340阅读
3评论
4点赞
发布博客于 3 年前

新书发布《IoT开发实战:CoAP卷》

图书简介CoAP是受限制的应用协议(Constrained Application Protocol)的简称。随着近几年物联网技术的快速发展,越来越多的设备需要接入互联网。虽然对人们而言连接互联网显得方便而快捷,但是对于那些低功耗受限制设备而言接入互联网却非常困难。在当前由PC机和智能手机组成的互联网世界中,信息交换一般通过TCP和HTTP协议实现。但是对于那些低功耗受限制设备而言,实现TCP
原创
9387阅读
14评论
5点赞
发布博客于 4 年前

NB IoT中 CDP服务与CoAP关系解释

前言最近(2017年8月)NB IoT的实际应用越来越多,网络和微信公众号中出现了不少NB IoT的文章。NB IoT的介绍资料越来越多,NBIoT的模块也层出不穷。华为主推的Hi2110或许是2017年使用最为广泛的NB IoT模块,这款模块支持UDP通信和CoAP通信。
原创
30918阅读
16评论
21点赞
发布博客于 4 年前

mbedtls安装与入门

本文讲介绍如何在Ubuntu/Debian/Raspbian主机上正确安装mbedtls
原创
25442阅读
5评论
5点赞
发布博客于 4 年前

FreeRTOS CortexM3 M4中断优先级设置总结

前言本文将说明在FreeRTOS嵌入式操作系统中,如何设置STM32 Cortex M3和M4系列MCU的中断优先级。总结【1】STM32L1系列,STM32F1系列,STM32F4系列,设置NVIC时需要使用NVIC_PriorityGroup_4。【2】抢占优先级的要比“MAX”更大,而比“LOWEST”更小。例如configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIO
原创
10130阅读
1评论
2点赞
发布博客于 5 年前

CoAP测试服务器 wsncoap.org

coap://vs0.inf.ethz.ch:5683 是一个CoAP测试服务器,但是该服务器远在欧洲,由于种种情况不能稳定访问。为了让更多的国内物联网爱好者学习和使用CoAP协议,我自掏腰包购买了wsncoap.org域名,并租用了阿里云服务器。在阿里云服务器中部署了和vs0.inf.ethz.ch相似的CoAP服务器,通过coap://wsncoap.org也可以测试和验证CoAP协议的各
原创
21190阅读
23评论
9点赞
发布博客于 5 年前

Contiki学习平台推荐

本文将介绍多款适合Contiki入门的学习平台(或开发平台)。随着厂商对Contiki的支持越来越多,Contiki的学习平台在这几年中发生了很大的变化,又随着国内爱好者人数的增加,适合国情的Contiki学习平台越来越多,价格也越来越便宜。总的来说,CC2530和MSP430等8位或16位MCU已经并不是主流的Contiki学习平台,而CC2538、CC2650和CC1310等越来越被爱好者接受。
原创
13725阅读
7评论
5点赞
发布博客于 5 年前

IBM Bluemix IoT Platform 创建设备和API密钥

本文将详细说明使用IBM Waston IoT Platform创建物联网设备的具体步骤。IBM Waston IoT Platform是IBM Bluemix云计算的一部分,是专门为物联网设计的系统之一,该平台支持HTTP和MQTT。学习IBM Bluemix和IBM Waston IoT Platform帮助我们更好的学习物联网系统的组成、实现和发展方向。
原创
9773阅读
1评论
2点赞
发布博客于 5 年前

Contiki Makefile参数说明

contiki Makefile参数说明
原创
11654阅读
2评论
0点赞
发布博客于 5 年前

Contiki 配置参数“技巧”说明

前言contiki中有很多的参数设置,这些参数设置包括uIP、6lowpan、通用驱动和具体平台等等,contiki的配置参数散落在Demo makefile文件、Demo project_conf.h、平台 contiki_conf.h和contiki_default_conf.h中,弄清楚这四个文件的相互关系,将更好的理解contiki的工作机制。下面以CC2538DK平台为例,说明Conti
原创
13518阅读
0评论
0点赞
发布博客于 5 年前

图解Putty Key Generator使用方法

在windows上使用Git工具往往需要使用SSH Key,和Linux系统使用不同,windows系统中常通过GUI方式生成SSH Key,若使用GUI方式那么PuTTY Key Generator便是一个不错的工具。如果在windows环境下需要先安装Git for windows,如果追求更良好的用户体验可安装SourceTree。
原创
24568阅读
2评论
1点赞
发布博客于 6 年前

CoAP学习笔记——STM32平台上实现CoAP Server

CoAP是受限制的应用协议(Constrained Application Protocol)的代名词。在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的。但是对于小型设备而言,实现TCP和HTTP协议显然是一个过分的要求。为了让小设备可以接入互联网,CoAP协议被设计出来。CoAP是一种应用层协议,它运行于UDP协议之上而不是像HTTP那样运行于TCP之上。
原创
25001阅读
10评论
8点赞
发布博客于 6 年前

CoAP学习笔记——CoAP格式详解

CoAP是受限制的应用协议(Constrained Application Protocol)的代名词。在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的。但是对于小型设备而言,实现TCP和HTTP协议显然是一个过分的要求。为了让小设备可以接入互联网,CoAP协议被设计出来。CoAP是一种应用层协议,它运行于UDP协议之上而不是像HTTP那样运行于TCP之上。CoAP协议非常小巧,最小的数据包仅为4字节。
原创
39614阅读
3评论
11点赞
发布博客于 6 年前

CoAP学习笔记——IETF文档和draft文档

截至2015年4月,IETF共发布了2份关于CoAP协议的RFC文档,尚有5份文档处于草稿状态。
原创
8180阅读
4评论
1点赞
发布博客于 6 年前

CoAP学习笔记——Libcoap安装和使用

libcoap是CoAP协议的C语言实现,libcoap提供server和client功能,它是调试CoAP的有力工具,本文将说明如何在Linux平台上安装libcoap,并通过几个简单的例子说明libcoap的使用方法。
原创
37473阅读
26评论
3点赞
发布博客于 6 年前

FreeRTOS学习笔记——互斥型信号量

在嵌入式操作系统中互斥型信号量是任务间资源保护的重要手段。
原创
25946阅读
4评论
4点赞
发布博客于 6 年前

FreeRTOS学习笔记——二值型信号量

在嵌入式操作系统中二值型信号量是任务间、任务与中断间同步的重要手段。FreeRTOS的二值型信号量简单易用,下面结合一个具体例子说明FreeRTOS中的二值型信号量如何使用。
原创
36492阅读
3评论
4点赞
发布博客于 6 年前

PCATTCP使用笔记——TCP UDP速度测试工具

PCATTCP的前身为Test TCP,Test TCP是BSD操作系统的原生工具,该工具通过控制台输入参数,用于测试TCP或者UDP的通信速度。该项目于1984年启动,现在该工具的源代码早已开放。PCATTCP是Test TCP的windows移植版本,是一个用于测试TCP和UDP通信速度的windows控制台程序。
原创
17243阅读
1评论
1点赞
发布博客于 6 年前

树莓派学习笔记——Wifi AP热点模式 使用RT5370

本文详细说明为树莓派增加Wifi AP热点功能的具体步骤。配置完成之后,树莓派将增加一个Wifi热点功能,使用笔记本或手机便可连接树莓派,树莓派具有了AP热点功能,可更一步扩展树莓派相关的WEB功能,通过连接树莓派提供的热点,登录树莓派提供的WEB服务,便可获得树莓派所监控的相关信息。
原创
54765阅读
25评论
6点赞
发布博客于 6 年前

树莓派学习笔记——apt方式安装opencv

本文介绍如何在树莓派中通过apt方式安装opencv,并通过一个简单的例子说明如何使用opencv。相比于源代码方式安装opencv,通过apt方式安装过程步骤简单些,消耗的时间也少一些。通过apt方式安装没有自动生成opencv.pc文件,所以在编写makefile文件时不能直接使用pkg-config工具,而需要逐个指定opencv_core、opencv_imgproc等动态
原创
37454阅读
19评论
5点赞
发布博客于 7 年前

树莓派学习笔记—— 源代码方式安装opencv

本文介绍如何在树莓派中通过编译源代码的方式安装opencv,并通过一个简单的例子说明如何使用opencv。    更多内容请参考——【树莓派学习笔记——索引博文】1.下载若干依赖项    在开始安装之前,最好更新树莓派软件源。如果更新时间太长,请参考博文修改软件源网络地址——【树莓派学习笔记——修改树莓派软件源】sudo apt-get update    请依次安装以下依赖项,这
原创
47135阅读
37评论
13点赞
发布博客于 7 年前

2013年到2014年学习计划及总结(更新至2019年3月)

2013年5月中旬我给自己制定了一个1.5年的学习计划,计划的起点为2013年5月,计划的终点为2014年12月底。虽然现在并没有到达计划的截止时间,但是我已经从该计划中收获了很多,并发现了自身的问题,所以便提前3个月结束该计划。在剩下的时间中认真总结和反思,期待更大的提高。总体 核心思想——以太网控制【1】到2013年年底,CPU的主频提高到150M左右。【2】详细研究...
原创
6483阅读
18评论
6点赞
发布博客于 7 年前

MQTT学习笔记——Yeelink MQTT服务 使用mqtt.js和paho-mqtt

2014年8月yeelink推出基于MQTT协议的开关类型设备控制API,相比于基于HTTP RESTful的轮训方式,通过订阅相关主题消息,可以远程控制类应用实时性更好。本文使用两种方式实现开关类型设备的远程控制,一种是基于nodeJS的MQTT.js扩展库,另一种是基于python的paho-mqtt扩展库。
原创
42032阅读
7评论
2点赞
发布博客于 7 年前

MQTT学习笔记——树莓派MQTT客户端 使用Mosquitto和paho-python

本文说明如何在树莓派上安装Mosquitto。本文通过两个简单的例子说明树莓派中如何使用MQTT协议实现消息订阅,这些例子包括Mosquitto_sub指令实现消息订阅和paho-python扩展库实现GPIO端口的远程控制。本文中使用了两个工具——Mosquitto paho-python,其中Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的消息通信简单易用;另外,paho-python是一个符合MQTT v3.1
原创
72218阅读
10评论
15点赞
发布博客于 7 年前

MQTT学习笔记——MQTT协议体验 Mosquitto安装和使用

MQTT是IBM开发的一个即时通讯协议。MQTT是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制。Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的短消息通信简单易用。
原创
221820阅读
43评论
51点赞
发布博客于 7 年前

CoAP学习笔记——nodeJS node-coap返回JSON数据包

本文说明如何使用node-coap返回JSON数据包。CoAP是专门为物联网系统开发的面向网络的应用层协议栈,CoAP建立在UDP协议之上尽可能减少网络开销,又具有HTTP Restful类型的特性。node-coap使用nodejs实现了coap的客户端和服务器端。
原创
12218阅读
0评论
0点赞
发布博客于 7 年前

CoAP学习笔记——nodeJS node-coap安装和使用(windows平台)

本文尝试在windows平台中搭建基于nodeJS的CoAP Server。
原创
11929阅读
3评论
3点赞
发布博客于 7 年前

CoAP学习笔记——nodeJS node-coap安装和使用(Linux平台)

本文说明如果安装和使用node-coap。CoAP是专门为物联网系统开发的面向网络的应用层协议栈,CoAP建立在UDP协议之上尽可能减少网络开销,又具有HTTP Restful类型的特性。node-coap使用nodejs实现了coap的客户端和服务器端。
原创
13748阅读
2评论
0点赞
发布博客于 7 年前

编程语言中到处都能见到的$符号

最近开发过程中使用了多种脚本语言,在这些语言中发现很多的$符号,而每种脚本语言的$符号的用法和意义均不相同,所以借博文总结总结。在linux应用开发中经常使用makefile脚本和shell脚本,有趣的是,这两种脚本使用$符号时存在明显差异,虽然在这两种脚本中$均和变量有关,但是makefile中变量使用括号包裹,而shell脚本缺并不需要括号。
原创
4363阅读
1评论
4点赞
发布博客于 7 年前

python Flask EasyUI使用说明

本文说明如何在flask框架下使用前端组件EasyUI。在flask框架中链接css文件,js脚本和图片等静态文件的方式和其他web服务器存在差别。在flask框架中这些静态文件一般存放与static文件夹中,并通过url_for函数指定static中相对位置和文件名。
原创
12173阅读
4评论
0点赞
发布博客于 7 年前

EasyARM i.mx287学习笔记——根文件系统rootfs修改和烧写

本文详细说明如何修改和制作根文件系统,包括修改根文件系统中的配置文件;在根文件系统中加入可执行文件,最后通过uboot tftp方式烧录根文件系统和镜像。
原创
10421阅读
1评论
0点赞
发布博客于 7 年前

树莓派学习笔记——修改树莓派软件源

本文说明如何修改树莓派软件源。如果使用raspbian系统,修改软件源的方法和ubuntu相同,可在http://www.raspbian.org找到最新的软件源镜像,修改/etc/apt/sources文件中的内容即可。
原创
46597阅读
5评论
1点赞
发布博客于 7 年前

EasyARM i.mx287学习笔记——通过modbus tcp控制GPIO

本文使用freemodbus协议栈,在EasyARM i.mx287上实现了modbus tcp从机。在该从机中定义了线圈寄存器,其中线圈寄存器地址较低的4位和EasyARM的P2.4至P2.5关联,通过modbus指令可控制GPIO的输出。本文修改自freemodbus 示例LINUXTCP,经过简单的修改也可用于其他Linux开发板。
原创
7674阅读
0评论
1点赞
发布博客于 7 年前

EasyARM i.mx287学习笔记——minicom配置和使用

在windows中有很多串口调试软件,例如putty。而ubuntu中也有很多串口调试软件,其中最简单实用的便是minicom了。本文说明虚拟机中如何使用minicom进行串口调试,具体内容包括虚拟机中载入USB设备,查看USB设备是否存在,minicom端口号,波特率等配置。
原创
6448阅读
0评论
1点赞
发布博客于 7 年前

树莓派学习笔记——使用文件IO操作GPIO SysFs方式

本文描述如果通过文件IO sysfs方式控制树莓派 GPIO端口。通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO方向,而value可控制GPIO输出或获得GPIO输入。
原创
11908阅读
7评论
0点赞
发布博客于 7 年前

EasyARM i.mx287学习笔记——文件IO方式操作GPIO

本文描述如果通过文件IO sysfs方式控制EasyARM GPIO端口。通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO方向,而value可控制GPIO输出或获得GPIO输入。
原创
11529阅读
4评论
0点赞
发布博客于 7 年前

EasyARM i.mx287学习笔记——开箱试用总结

本月初(2014年8月)购买了周立功的EasyARM开发板,主控为EasyARM i.mx287。出于以下几个理由购买了该开发板。 【1】主要原因,有人约我一起学习一起使用该开发板。 【2】该开发板性价比较高,到手300元以内,比2440/2410开发板稍便宜些。 【3】该开发板的CAN功能是一个特色。 【4】通过学习EasyARM i.mx287,比较和树莓派的开发的不同。
原创
14164阅读
5评论
3点赞
发布博客于 7 年前

EasyARM i.mx287学习笔记——安装和使用tftp

本文说明在ubuntu中安装tftp服务器的详细步骤,在ubuntu中编写一个让LED闪烁的脚本,使用串口登录EasyARM,在EasyARM中通过busybox的tftp指令获得主机中的脚本文件,增加可执行权之后运行,最终LED灯间隔闪烁。
原创
5249阅读
0评论
0点赞
发布博客于 7 年前

Linux学习笔记——虚拟机中安装VMware Tools

VMware Tools是VMware虚拟机中自带的一种增强工具,只有在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,实现文件在虚拟机之间的复制粘贴。
原创
6048阅读
0评论
0点赞
发布博客于 7 年前

树莓派学习笔记——Python SQLite查询历史温度

本文通过Python SQLite查询树莓派CPU的温度历史数据,在前面的博文中已经介绍了树莓派CPU温度获取,SQLite操作和利用Python插入历史数据,下面再介绍如何查询数据,本文主要分为三部分,第一部分为查询所有温度记录,第二部分获得最近一小时数据,第三部分为把获得结果格式化为字典类型。
原创
8070阅读
7评论
1点赞
发布博客于 7 年前

树莓派学习笔记——使用标准PC104键盘

本文将详细介绍树莓派的键盘设计。和多数的人的想法不同,世界上存在着各种各样不同的键盘,中国人使用的键盘和美国人使用的键盘相同,而树莓派源产自英国,英国的键盘和美国并不相同。国内多使用标准104键键盘,下面就讲讲如何配置。
原创
35988阅读
3评论
4点赞
发布博客于 7 年前

树莓派学习笔记——Python SQLite插入温度记录

0 前言    本文使用python向SQLite数据库中插入树莓派温度数据,SQLite数据库中包含一张只包含三个字段的记录表——参数名称,时间和温度值。本文重点解释Python操作SQlite的具体方法,由于网上资料众多,重复部分不再复述只做到具体情况具体分析。    【相关博文】    【树莓派学习笔记——索引博文】——更多博文请关注。    【树莓派学习笔记——获取树莓派C...
原创
9202阅读
0评论
1点赞
发布博客于 7 年前

树莓派学习笔记——SQLite操作简述

本文介绍如何在树莓派中利用SQLite数据库保存CPU温度数据。SQLite是一款轻量级零配置数据库,非常适合在树莓派和其他嵌入式系统中使用。SQLite文档详细资料丰富,本文不会详细解释SQLite数据库操作的方方面面,只能结合具体场景按需说明。本文介绍的SQLite技巧也可以在其他平台使用,并不局限于树莓派。
原创
11678阅读
0评论
2点赞
发布博客于 7 年前

树莓派学习笔记——定时向yeelink上传树莓派CPU温度

本文通过python文件IO操作获得树莓派CPU温度信息,通过python request库周期性向yeelink平台上传温度,修改rc.local脚本使得该python脚本在开机时便在后台运行,向平台每5分钟上报一次温度信息。
原创
17225阅读
13评论
4点赞
发布博客于 7 年前

树莓派学习笔记——获取树莓派CPU温度

本文通过文件操作读取树莓派CPU温度,在linux系统中任何设备的操作都被抽象成为文件读写,通过读取/sys/class/thermal/thermal_zone0/temp文件中的内容便获得树莓派CPU的温度。本文通过以下几个部分说明如何读取和应用该温度参数——1.shell脚本操作;2linux文件IO操作,3.python文件操作; 4.通过python requset上传至yeelink平台。
原创
62667阅读
9评论
7点赞
发布博客于 7 年前

树莓派学习笔记——Model B Model B+ Compute Module Dev Kit的区别和联系

最近浏览器树莓派官方发现树莓派推出了两款新Model——一款名为树莓派 model B+,一款名为树莓派 Compute Module Dev Kit。带着欣喜和恐惧查阅了相关资料,并通过淘宝和RS中国了解开发板价格。欣喜的感觉来自于树莓派的功能得到了增强,恐惧来自于树莓派的改变带来新的学习成本。经过几天的资料收集,所以整理成博文和大家分享。
原创
16117阅读
1评论
5点赞
发布博客于 7 年前

树莓派学习笔记——USB wifi配置指南

树莓派既可以使用有线网络又可以无线网络,如果使用有线网络不方便的话可以借助USB wifi无线网卡让树莓派也插上无线“翅膀”。但是和使用有线网络即插即用的方式不同,USB wifi网卡需要进行一些配置。通过一天的配置实验,本文总结了树莓派wifi配置的两种方法——【1】使用wpa_gui工具方法和【2】修改配置文件方法。
原创
41851阅读
3评论
6点赞
发布博客于 7 年前

python Flask JQuery使用说明

最近由于某种原因再次学习Flask框架,借助博客整理相关内容。Flask框架和Apache+PHP存在少许不同,Flask框架中JS和CSS文件存放于一个相对固定的位置。一般情况下,位于static文件夹下(见图1 目录结构)。本文结合一个非常简单的加法例子试图说明Flask框架中JQuery和Ajax的用法。    这个例子将运行在树莓派中
原创
24333阅读
4评论
2点赞
发布博客于 7 年前

LwIP学习笔记——STM32 ENC28J60移植与入门

去年(2013年)的整理了LwIP相关代码,并在STM32上“裸奔”成功。一直没有时间深入整理,在这里借博文整理总结。LwIP的移植过程细节很多,博文也不可能一一详解个别部分只能点到为止。
原创
81585阅读
19评论
32点赞
发布博客于 7 年前

在windows上搭建C语言开发环境——借助eclipse和MinGW

0. 前言    【本文目的】    最近在电脑上重新安装了MinGW,发现MinGW的安装方法和之前的方法稍有区别,所有再写了一篇博文记录一下详细的安装方法。    【本文主要内容】           在windows上进行C语言开发,可借助MinGW+eclipse,MinGW提供可以在windows上运行的gcc编译器,而eclipse C/C++提供良好的编译环境。
原创
14884阅读
3评论
1点赞
发布博客于 7 年前

树莓派学习笔记——交叉编译练习之SQLite3安装

本博文可能并没有太多使用价值,仅仅是为了练习而练习。在树莓派上使用SQLite有很多的方法,安装的方法也有很多。【1】如果使用Python,那么不必安装SQLite因为Python已经自带SQLite。【2】可以使用apt-get安装,只是SQLite的版本号稍低些。【3】可以使用源代码安装,在树莓派上直接编译,虽然树莓派的运算速度不如PC机。
原创
8258阅读
2评论
1点赞
发布博客于 7 年前

STM32NET学习笔记——TCP部分

1.前言     【由于TCP协议负载,若有说的不对的地方,请及时指出,第一时间改正。本博文2013年2月在某论坛发表,现搬迁至CSDN博客】    从实用主义的角度出发,学习嵌入式TCPIP可以直接从本章节开始学习,甚至可以直接从HTTP开始学习。我也曾经是一个现实的实用主义者, 以为有了AVRNET项目的源码,修改移植之后便可以用于STM32。但是现实总是那么残酷,对于一个还不熟悉HT
原创
20197阅读
7评论
3点赞
发布博客于 7 年前

Linux学习笔记——如何在交叉编译时使用共享库

0.前言    在较为复杂的项目中会利用到交叉编译得到的共享库(*.so文件)。在这种情况下便会产生以下疑问,例如:    【1】交叉编译时的共享库是否需要放置于目标板中,如果需要放置在哪个目录中。    【2】交叉编译时的共享库是否需要放置于宿主机中,如果需要放置于哪个目录中。    【3】交叉编译时如何指定共享库    【4】程序运行时如何查找共享库    等等问题。
原创
14089阅读
4评论
10点赞
发布博客于 7 年前

IAR使用技巧——如何使用合适的版本打开IAR工程

0.前言 在与ARM Cortex M3/4有关的开发中,经常使用IAR和Keil这样的集成IDE。IAR相比于Keil,经常出现大版本的更新,这就导致的以前建立的工程不能使用新版本打开。最典型的情况便是IAR 5.5建立的工程使用IAR 6.3打开便会产生问题。在正确的方法自然是使用合适的软件打开合适的工程,那么本文就总结如何找到找到IAR工程正确的版本号。1.各种案例...
原创
16109阅读
8评论
4点赞
发布博客于 7 年前

Linux学习笔记——例说makefile 索引博文

从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力。所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法。    博文试图从简到难,通过例子说明makefile的写法,而不是整段或整片的抄袭网络上的文章。
原创
11590阅读
1评论
11点赞
发布博客于 7 年前

Linux学习笔记——例说makefile 增加宏定义

从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力。所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法。
原创
46947阅读
2评论
10点赞
发布博客于 7 年前

Linux学习笔记——例说makefile 综合案例

0.前言    从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力。所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法。    例说makefile大致分为4个部分    1.只有单个C文件    2.含有多个C文件
原创
4616阅读
0评论
1点赞
发布博客于 7 年前

Linux学习笔记——例说makefile 增加自定义共享库

0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力。所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法。 例说makefile分为以下几个部分,更多内容请参考【例说makefile索引博文】 1....
原创
14826阅读
2评论
4点赞
发布博客于 7 年前

Linux学习笔记——例说makefile 增加系统共享库

0.前言    从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力。所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法。    例说makefile大致分为4个部分    1.只有单个C文件    2.含有多个C文件
原创
5251阅读
0评论
4点赞
发布博客于 7 年前

Linux学习笔记——例说makefile 头文件查找路径

0.前言    从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力。所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法。    例说makefile大致分为4个部分    1.只有单个C文件    2.含有多个C文件
原创
66717阅读
8评论
15点赞
发布博客于 7 年前

Linux学习笔记——例说makefile 多个文件

0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力。所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法。 例说makefile分为以下几个部分,更多内容请参考【例说makefile索引博文】 1.只有单个C...
原创
12574阅读
5评论
6点赞
发布博客于 7 年前

Linux学习笔记——例说makefile 单个C文件

0.前言    从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力。所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具体用法。    例说makefile大致分为4个部分    1.只有单个C文件    2.含有多个C文件    3
原创
21643阅读
5评论
14点赞
发布博客于 7 年前

Linux学习笔记——如何使用echo指令向文件写入内容

0.前言    本文总结如何使用echo命令向文件中写入内容,例如使用echo指令覆盖文件内容,使用echo指令向文件追加内容,使用echo指令往文件中追加制表符。    echo向文件中输出内容的基本方法是使用IO重定向指令——“>”,默认情况下echo输出到标准输出中,使用>指令可重定向输出到文件中。1.echo指令基本用法【1】Linux官方用户手册——ech
原创
168109阅读
6评论
19点赞
发布博客于 7 年前

前端学习——经常出现的width

0.前言    在HTML设计中width经常出现,width可以有效的控制网页元素的宽度和高度,但是width却有两种完全不同的表现形式——属性和样式。在HTML中,属性和网页标签相伴并被包裹在        下面就通过几个例子说明问题。1.表格中的width——属性    表格中属性和样式都可以改变宽度,为了说明问题表格具有外边框。    【网页效果】
原创
2253阅读
0评论
0点赞
发布博客于 7 年前

前端学习——HTML4和HTML5设定页面语言字符集

0.前言    本文总结如何设置网页的字符集,在多数情况下网页的字符集使用utf-8编码(曾经多使用gb2312),下面就分HTML5和HTML4说明字符集的设置。1.HTML5>HTML5>   【说明】【1】 HTML5声明标签。【2】charset="utf-8"> 设置字符集。2.HTML4
原创
9517阅读
0评论
0点赞
发布博客于 7 年前

前端笔记——如何控制表单控件中的disabled

0.前言    本文主要说明如何使能或禁止表单控件。表单控件具有disabled属性,通过设置该属性可以禁止所有的input控件,input的更多属性请参考资料【1】。下面就通过一个简单的例子说明如何设置和读取disabled属性。【示例页面——代码】测试disabled【示例页面】图1 一个“孤独”的按钮
原创
4490阅读
0评论
0点赞
发布博客于 7 年前

前端学习——选择结果为JQuery对象还是DOM对象?

0.前言    在学习和使用javascript过程中经常使用JQuery的选择器,但是在获取到选择结果之后经常“犯迷糊”,需要一个DOM对象时或者一个JQuery对象,这样的尴尬经常遇到。为了让自己不再迷糊通过博文总结经验教训,希望自己在总结过程中缓慢提高。    【相关博文】    【前端学习——如何修改url name 使用javascript和JQuery】    【示
原创
5653阅读
3评论
2点赞
发布博客于 7 年前

前端学习——使用Ajax方式POST JSON数据包

0.前言    本文解释如何使用Jquery中的ajax方法传递JSON数据包,传递的方法使用POST(当然PUT又有时也是一个不错的选择)。POST JSON数据包相比标准的POST格式可读性更好些,层次结构也更清晰。    为了说明问题,前端和后端较为简单,重点突出AJAX的应用。    【前端】——add-post-json.html图1 ad
原创
80362阅读
4评论
6点赞
发布博客于 7 年前

前端学习——JQuery Ajax使用经验

0.前言    在项目推进过程中经常使用Ajax,通过Jquery提供的函数可以非常方便的使用Ajax,但是在实际使用中也遇到一些问题,例如如何防止浏览器使用缓存,如何使用同步方式等。通过博文整理总结希望自身有所提高。    在这里通过一个加法例子说明问题.为了突出ajax,前端网页和后端PHP程序尽可能的简单。    【前端】——add.html图
原创
8097阅读
0评论
0点赞
发布博客于 7 年前

cJSON学习笔记 续集

0.前言    本文试图说明如何使用CJSON构造各种各样的JSON数据包。在前段时间已经写过一篇cJSON的文章,所以本文成为“续集”。    【相关博文】    【前端学习——JSON学习】——学习各种各样的JSON格式    【cJSON学习笔记】——本学习笔记的前一“集”。    【代码仓库】——cJSON-Example    代码仓库位于bitb
原创
25550阅读
0评论
7点赞
发布博客于 7 年前

前端学习——JSON格式详解

0.前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言...
原创
30739阅读
13评论
20点赞
发布博客于 7 年前

Wireshark学习笔记——如何快速抓取HTTP数据包

0.前言    在火狐浏览器和谷歌浏览器中可以非常方便的调试network(抓取HTTP数据包),但是在360系列浏览器(兼容模式或IE标准模式)中抓取HTTP数据包就不那么那么方便了。虽然也可使用HttpAnalyzer等工,但是毕竟都是收费软件。只需通过合适的过滤和操作,Wireshark也可抓取HTTP请求和响应。下面便说明具体操作。    假设在8080端口运行一个HTTP服务器,
原创
137918阅读
9评论
21点赞
发布博客于 7 年前

HTML学习笔记——各种居中对齐

0.前言    水平居中基本方法——指定块的宽度并设定块的左右外边距为auto,上下外边距可取0,那么该块可以在父元素中水平居中。样式如下:1:margin:0px auto2:margin-left:auto; margin-right:auto;    垂直居中基本方法——设定块的上下内边距相等。样式如下:    padding-top:20px; paddin
原创
60169阅读
0评论
6点赞
发布博客于 7 年前

python Flask 学前班

Flask是一个用Python编写的轻量级的Web应用框架。本文第一部分将简单讲解Flask的安装,接着展示一个Flask的例子,第一个例子非常简单但也存在缺陷——在Python代码中嵌入了HTML标签,为了解决这样的缺陷第二个例子引入了模板,最后第三个例子在模板中加入了参数。
原创
18859阅读
8评论
3点赞
发布博客于 7 年前

notepad++ 配置笔记

0.notepad++简介    Notepad++是一套非常有特色的自由软件的纯文字编辑器,有完整的中文化接口及支援多国语言撰写的功能。它的功能比 Windows 中的 Notepad更强大。Notepad++ 不仅有语法高亮功能,也有语法折叠功能,并且有大量扩展插件。1.相关设置【1】设置->首选项 设置tab    【2】设置->首选项 设置函数和
原创
4546阅读
0评论
1点赞
发布博客于 7 年前

javascript学习笔记——如何修改url name

0.前言    使用了一段时间javascript,再花了点时间学习了jquery,但是总是感觉自己很"迷糊",例如url name中,如果修改href中的“#”应如何编写代码,如果修改url name应如何编写代码。再加上javascript和jquery操作方法略有不同,所以我就更“迷糊”了。    【说明】    曾经使用关键词——“innerHTML和value区别”,在百度和
原创
17291阅读
1评论
4点赞
发布博客于 7 年前

TortoiseHg 学习笔记

0.前言    TortoiseHg是分布式的源码管理工具Mercurial的GUI客户端。 mercurial 作为3大主流的分布式源码管理工具,已经被广泛的使用。例如 googlecode.com和codeplex.com都支持mercurial作为源码管理工具。下面结合某个场景,叙述TortoiseHg的具体使用方法。1.假想场景【1】主管在版本库服务器中建立一个仓库,该
原创
23849阅读
6评论
2点赞
发布博客于 7 年前

Linux学习笔记——vmware plarer中安装ubuntu

学习了很长时间ubuntu,在旧笔记中安装过lubuntu,也使用过他人安装好的ubuntu虚拟机(contiki2.6和contiki2.7)。熟悉了ubuntu之后,决定自己尝试通过vmware player安装ubuntu。
原创
5042阅读
0评论
1点赞
发布博客于 7 年前

Linux学习笔记——硬盘分区和安装双系统

1.前言    假设电脑上已经安装了windows XP或者windows7。试图在使用windows的同时,在电脑上安装ubuntu。    假设电脑上已经存在C盘、D盘、E盘和F盘,且E盘和F盘的剩余空间较大。    假设ubuntu系统需要40G空间。    【使用软件】傲梅分区助手    【最终目标】为安装ubuntu系统节省出40G左右的空闲空间。40G空间来自于E盘
原创
9309阅读
0评论
0点赞
发布博客于 7 年前

树莓派学习笔记——交叉编译工具链

0.前言【1】为什么要使用交叉编译    交叉编译工具较快开发的速度。树莓派中已经安装了gcc工具链,可在树莓派中直接编译源代码生成可执行文件。于此同时,PC机上也可使用gcc工具链生成可执行代码,但是和树莓派上的gcc工具不同,PC机上的gcc工具生成intel或amd芯片上可执行的代码,但树莓派却是arm系列的芯片,显然存在不小的差异。那么使用交叉工具链便可在PC机上开发树莓派中可
原创
54041阅读
15评论
14点赞
发布博客于 7 年前

Linux学习笔记——Ubuntu更新软件源

0.前言    通过修改ubuntu软件源可提高apt命令下载安装软件的速度。    参考资料    【官方资料】——配置文件修改方法    【Ubuntu怎样修改软件源地址】——使用ubuntu软件中心修改(推荐)    【at-get update错误处理】1.使用ubuntu软件中心更新    请参考【Ubuntu怎样修改软件源地址】——来自百度经验
原创
22006阅读
1评论
4点赞
发布博客于 7 年前

contiki学习笔记——cc2530dk例程实践和UDP重启问题解决

最近收到很多关于contiki的邮件(2014年4月),而此时我正“醉心”于开源硬件——树莓派【树莓派学习笔记——索引博文】。在回答各位contiki爱好者问题时我也重新关注和学习了contiki,略有收获和大家分享一下。
原创
12332阅读
11评论
0点赞
发布博客于 7 年前

contiki学习笔记——IEEE802.15.4地址变为IPv6地址

0.前言    由于Contiki在linux环境下开发,为了深入学习Contiki所以从【Instant Contiki 安装笔记——SDCC和CC2530】博文之后陆续开始学习linux,学习linux则借助树莓派平台,没想到一学就学就学上瘾了,写了20多篇树莓派的学习笔记从小白变为了低级菜鸟——【树莓派学习笔记——索引博文】。今天回到Contiki整理些IPV6的相关资料,今天说说IPv
原创
10860阅读
4评论
4点赞
发布博客于 7 年前

Yeelink平台推送传感器结果——套接字编程 Windows平台

1.前言    本文使用windows平台的socket套接字实现向yeelink平台推送传感器结果。    【相关博文】    【 MinGW安装和使用总结 】    【Yeelink Http请求格式分析】    【Yeelink平台使用——远程控制 RT Thread + LwIP+ STM32 】    【Yeelink平台查询开关量——套接字编程 Windows平
原创
4876阅读
5评论
2点赞
发布博客于 7 年前

物联网学习笔记——索引博文

1.物联网学习笔记受到《基于IP的物联网架构、技术和应用》一书的影响,始终认为物联网设备需要具备连接互联网的能力。2.物联网学习笔记认为物联网并不是新技术,而是新的营销手段,而营销的对象正是哪些曾经无法上网而经过改造之后可以上网的设备。所以物联网学习笔记均讨论的现有技术,而这些技术均可用于物联网领域。3.物联网学习笔记总是从最简单的例子出发。
原创
29971阅读
14评论
38点赞
发布博客于 7 年前

WebSocket学习笔记——无痛入门

本人一直专注于IoT领域,前些时间尝试了REST API使用PHP Slim框架构建应用。传感器数据的上传可以高效的实现,可以定时上传传感器检测结果,而这些检测结果每条都是有用的。若需要实现相关控制功能,那么设备就需要轮询,而在轮询的过程中仅有几条报文是有用的,绝大多数报文仅仅是HTTP请求首部。为了解决该问题,我找到了WebSocket并决定尝试一下。
原创
21461阅读
8评论
8点赞
发布博客于 7 年前

PHP学习笔记——索引博文

特别之处    虽然由于个人PHP水平有限,但是PHP学习笔记还是有些特别之处。本人专注于IoT领域,所以本学习笔记试图把设备和互联网联系起来,而服务器侧使用的脚本语言正是PHP。PHP学习笔记有以下特点。【1】由设备提交表单,而不是浏览器。一般的PHP博文中总是会提到表单,PHP表单提交的方法有两种一种是POST,一种是GET,然后通过HTML脚本写个输入框便可以在浏览器中实验了。但是P
原创
4356阅读
0评论
1点赞
发布博客于 7 年前

树莓派学习笔记——索引博文

我清楚记得初次见到树莓派实物是在上海慕尼黑电子展,在RS中国的展位上展出了多个使用树莓派运行的游戏,我尝试了其中的几个,惊喜的发现一个这么小的东西居然有这么强大的功能,简直就是一台电脑了。所以我决定买一个玩玩,后来我又买了一个,再后来我见谁都“推销”树莓派。
原创
44447阅读
14评论
45点赞
发布博客于 7 年前

STM32NET学习笔记 UDP部分

1.前言 嵌入式以太网开发是一个很有挑战性的工作。通过几个月的学习,我个人觉得大致有两条途径。第一条途径,先通过高级语言熟悉socket编程,例如C#或C++,对bind,listen,connect,accept等函数熟悉之后,应用 lwIP。第二种途径,通过分析嵌入式以太网代码,结合TCPIP协议栈规范逐步实践代码。第一种途径效率高,开发周期短,编写出来的代码性能稳定,第二种途径花
原创
10764阅读
13评论
3点赞
发布博客于 7 年前

STM32NET学习笔记——索引

使用STM32学习嵌入式网络实现。
原创
10832阅读
2评论
9点赞
发布博客于 7 年前