分类 默认分类 下的文章

Arduino的看门狗watchdog

Arduino的经典芯片就是328,据说这个片子是内置看门狗的

watchdog.jpg

参考了坐台的栗子

#include <avr/wdt.h>

void setup() {
  Serial.begin(9600);
  wdt_enable(WDTO_8S);
  Serial.println("restart"); 
}

void loop() {
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  delay(1000);
}

期望结果是每8秒重起,实际不是这样的,8秒后blink灯狂闪,reset键和重新下载程序都无效了,只能拔电了。
有人说UNO不死,结果也死,据说还是bootloader的问题,可能要升级,烧录器又不在手上,麻烦。

UNO的bootloader和Nano的似乎差别还很大
hardware\arduino\avr\bootloaders\optiboot
hardware\arduino\avr\bootloaders\atmega

果然,用1.8.4的IDE,nano的bootloader还是不行,uno的bootloader就可以了。

参考了坐台在狗爬的文章:http://forum.godpub.com/thread-30-1-1.html

关闭CPU的核心

查询一下有几个核心

grep -c processor /proc/cpuinfo
grep "processor" /proc/cpuinfo
lscpu

需要在root下执行,怎么用sudo呢?

echo 0 > /sys/devices/system/cpu/cpu3/online

1是打开,内核确实关掉了,但是功耗基本还是没有降下来,还是1.5W

sudo的解决办法sudo bash -c "echo 0 > /sys/devices/system/cpu/cpu3/online"

提交数据到月球猫控制器

球猫建立了一个“月球猫控制器”,地址是https://yqmiot.com/,mqtt端口是11883,wss地址是wss://yqmiot.com/_wss
python的订阅代码是

import paho.mqtt.client as mqtt

def on_connect(client, userdata, flags, rc):
  client.subscribe("#")

def on_message(client, userdata, msg):
  print msg.topic.decode("utf-8")
  print msg.payload.decode("utf-8")

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("yqmiot.com", 11883, 50)
client.loop_forever()  

- 阅读剩余部分 -

在大家的帮助下给摄像头扩孔

那么问题来了,最近要给拉手上安装一个摄像头,不过摄像头的直径比拉手上的孔大,肿么办,有开孔器,但是拉手上已经有孔了,没有中心支撑点了,万能的论坛,我要给这个洞扩大一些,用什么方法比较好?
0.png

经过在二叔群(167153362)和电子产品世界论坛(forum.eepw.com.cn)咨询,大家各抒己见,终于找到相对靠谱儿的方法,扩孔成功了。
首先就是固定和塞木头,塞了好多。
1.jpg

然后用开孔器钻木头,担心木头移动,后来发现是多虑了。
2.jpg

开始开孔,比较顺利,好多各种屑。
3.jpg

去掉夹子,取出木块,清理碎屑,还算完美。
4.jpg

摄像头顺利填充,还算紧密,需要用力才能压进去。
5.jpg

最后来一张工具们的合影。
6.jpg

最终安装完成,完美!
00.jpg

docker中安装mqtt服务端

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。
mqtt.jpg

首先创建实例
docker run -ti -h mqtt --name mqtt_1884 -p 21884:1884 ubuntu:14.04
然后更新
apt-get update
apt-get install libc-ares-dev uuid-dev wget make libssl-dev g++
wget http://mosquitto.org/files/source/mosquitto-1.4.14.tar.gz
tar zxfv mosquitto-1.4.14.tar.gz
cd mosquitto-1.4.14
make
make install
然后添加用户
adduser mosquitto
cp /etc/mosquitto/mosquitto.conf.example /etc/mosquitto/mosquitto.conf
vi /etc/mosquitto/mosquitto.conf
去掉端口的注释,改为1884
mosquitto -v -c /etc/mosquitto/mosquitto.conf

测试,接收端:

import paho.mqtt.client as mqtt

def on_connect(client, userdata, flags, rc):
  client.subscribe("MikuQ.com/#")

def on_message(client, userdata, msg):
  print msg.payload.decode("utf-8")

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("192.168.1.1", 21884, 50)
client.loop_forever()

测试,发送端:

import paho.mqtt.client as mqtt

client = mqtt.Client()
client.connect("192.168.1.1", 21884, 50)
client.publish("MikuQ.com/android/command", "MQTT")

参考了酋猫的例子。