树梅派应用18:用树莓派DIY一个智能家居服务器

树莓派学习笔记(5):成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)... 转载请注明:@小五义http://www.cnblogs.com/xiaowuyi  QQ群:64770604   一、家庭服务器实现的主要功能 1、流媒体播放服务:利用DLNA实现电视、手机、电脑播放其上面的媒体文件。 2、文件共享:利用samba实现手机、电脑等终端与服务器的文件共享。 3、自动下载:利用aria2c实现自动下载。 先上几张效果图: 用orico的包装盒做了个机箱... 阅读详情

其实这东西我自己已经用了一年了~现在就来写个教程~嘿嘿……
先上个图
20160626192247896-0
有点乱23333
这是我的房间书柜,也是我的工作台……书柜的侧边是树莓派搭建的物联网服务器~
来一只近图~
20160626192247673-0
这就是服务器的近照啦~
我用的是树莓派A+作为服务器的主控,所有的工作都由它完成。
树莓派A+是单核的处理器,RAM仅256MB,不过如果不是作为复杂工作的话……也足够了~
这里,它的主要工作就是收集房间和室外的环境数据并上传至yeellink,同时获取yeellink上的开关数据控制房间里的灯,门,音响等设备的开关。
以及,在晚上下晚修我回到家的时候,自动打开灯~睡着了后自动关灯~

先来简单介绍一下,这里需要用到一些什么东西。如上面那张图,树莓派是肯定要有的~当然,什么版本都可以……因为实际上这里也没用多少GPIO,以前的A,B版本都可以……
然后,树莓派左下角那个蓝色的是声卡和音响的集成驱动,用来推动喇叭的~使用5V的电源,当然大家可以直接找个小音箱来代替~~
然后下面那一堆线是面包板,用来分配电源和继电器控制,以及……比较方便接线吧23333.各种传感器可以直接插面包板上,这样就省去了焊线的麻烦。
另外,由于我用的是树莓派A+,没有网络接口,所以用了一个8口的带电源HUB连接无线网卡和其他的比如USB串口等设备。HUB贴在树莓派上面点,没拍到。
再下面是电源盒,这里我用的是台式机电脑的电源~为什么用台式机电源呢?这有很大的好处。
台式机电源有12V,5V和3.3V,并带有一路5V VSB电源,以及还可以用GPIO控制电源整体开关。这就非常适合用来做服务器了,因为我的LED灯条是12V的,电磁锁也是12V的,而树莓派和USB设备都需要5V,一些传感器则需要3.3V,正好一个电源全部搞定它。同时在一些需要耗电的东西不需要用的时候,比如LED灯条,那我还可以把整个电源系统关掉省电~而在关掉总电源的时候,5V VSB是一直保持输出的,就可以用这一路电源给树莓派持续供电~ 是不是觉得很方便?

简单介绍完整个系统了,来看看接线
20160626192247323-0
这是整个系统的接线图~面包板左边那一坨就是台式机电源的ATX接口。
最下面的电机是电磁锁。
音响接的是驱动板。
以及这里用了个arduino mini,这是后来加上的,用来进行AD转换一些传感器数据然后通过串口发给树莓派。
下面那些继电器我用洞洞板制作成了一个模块,方便接线用。
20160626192247488-0

20160626192247208-0
正面和背面。和我最终做出来的成品稍微有点点出入,因为我在制作时根据实际优化了一下布局。但是大致电路是没什么变化的,大家可以参考制作。
这个继电器模块主要是用来控制12V设备的, 比如打开LED灯条,开锁等,都是用树莓派GPIO驱动三极管让继电器吸合导通12V的电源让设备工作。
这里我要特别强调!继电器和电磁锁都为磁感设备,在吸合和释放时因为磁生电效应会产生很强的反向电动势,这个电动势如果不采取措施很容易造成三极管甚至树莓派软击穿!导致树莓派停止工作甚至损坏!所以在每个继电器和电磁锁的线圈两端我都接有一个反向安装的二极管,用来吸收线圈在释放时产生的反向电动势,以保护设备。

好了~硬件大概就介绍到这。剩下的是软件……
先是介绍一下,通过yeellink控制LED灯和门锁等设备的控制方案,这个程序还包含了指定时间内检测我是否在家,比如在晚上,如果我回来了则自动开灯。这个是通过ping我手机的IP地址是否有回应来完成判断的。毕竟……出门肯定带手机吧……所以,当ping手机不通的时候,说明我不在家了,就关掉房间里的设备省电。当我回到家时,手机自动连接wifi后,ping通,说明我回来了,然后自动打开灯~

这一切都是通过bash脚本写的~

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#!/bin/bash
##2015年9月29日 23:32:22
echo "##VI  2016年4月8日 22:56:12  ## V2.2"
TDIR=/tmp
mkdir -p $TDIR
export PATH=$PATH:/usr/local/bin
gpio -g write 21 1
gpio -g mode 21 out ##电源开关  拉低开
gpio -g write 26 1
gpio -g mode 26 out ##桌面灯条  拉低开
gpio -g write 19 1
gpio -g mode 19 out ##桌面灯条  拉低开
gpio -g write 13 1
gpio -g mode 13 out ##柜子锁   拉低开
gpio -g write 6 1
gpio -g mode 6 out  ##门锁        拉低开
 
FI35=0
CLE_TIME=0  ##检测计数器
##你API的设备号
DEV=
##你传感器的编号
SW_POWER=
SW_DSKLED=
SW_DOOR=
SW_FORCER=
SW_CHANGE=
 
getdev(){
    DEVS=$1
    wget http://api.yeelink.net/v1.0/device/${DEV}/sensor/${DEVS}/datapoints -O $TDIR/sa${DEVS} -T 5 &> /dev/null
    FTIME=`cat $TDIR/sa${DEVS} | sed 's/.*\"\:\"//g;s/\"\,\".*$//g'`
    FYMD=`echo $FTIME | sed 's/T.*$//g'`
    FHMS=`echo $FTIME | sed 's/^.*T//g'`
    VAL=`cat $TDIR/sa${DEVS} | sed 's/^.*value\"\://g;s/\}//g'`
    if [ ! -e $TDIR/savetime${DEVS} ];then
        echo "" > $TDIR/savetime${DEVS}
        if [ "$DEVS" == "$SW_POWER" ];then
            if [ "$VAL" == "1" ];then
                gpio -g write 21 0
            else
                gpio -g write 21 1
            fi
        fi
        if [ "$DEVS" == "$SW_DSKLED" ];then
            if [ "$VAL" == "1" ];then
                gpio -g write 19 0
            else
                gpio -g write 19 1
            fi
        fi
    fi
 
     
    echo -e "\e[31;1m$FTIME \e[34;1m# $FYMD ## $FHMS\e[32;1m $DEVS \e[33;1m $VAL\e[0m"
    if [ "$FYMD" == "`date +%Y-%m-%d`" ];then
        echo ##操作日期为当天才进行下面的操作
        if [ "$FHMS" != "`cat $TDIR/savetime${DEVS}`" ];then
            echo ##操作时间不和上次的记录相同才进行下面的操作
            if [ "`echo $FHMS | awk -F ':' '{printf $1}'`" == "`date +%H`" ];then
                A=`echo $FHMS | awk -F ':' '{printf $1}'`
                echo -e "\e[31;1m$A\e[0m"
                ##if [ "$VAL" == "1" ];then
                    if [ "$DEVS" == "$SW_DOOR" ];then   #门锁
                        gpio -g write 6 0
                        sleep 2
                        gpio -g write 6 1
                    elif [ "$DEVS" == "$SW_FORCER" ];then   #柜子锁
                        gpio -g write 13 0
                        sleep 2
                        gpio -g write 13 1
                    elif [ "$DEVS" == "$SW_POWER" ];then    #电源开关
                        if [ "$VAL" == "1" ];then
                            gpio -g write 21 0
                        else
                            gpio -g write 21 1
                        fi
                    elif [ "$DEVS" == "$SW_DSKLED" ];then   #桌面灯条
                        if [ "$VAL" == "1" ];then
                            gpio -g write 19 0
                        else
                            gpio -g write 19 1
                        fi
                    elif [ "$DEVS" == "$SW_CHANGE" ];then   #充电座
                        if [ "$VAL" == "1" ];then
                            gpio -g write 26 0
                        else
                            gpio -g write 26 1
                        fi
                    fi
                    echo "$FHMS" > $TDIR/savetime${DEVS}
                ##fi
            fi
        fi
    fi
}
 
##给LED点阵模块发送时间数据
ledtime(){
    if [ -e /dev/ttyUSB0 ];then
        echo "\`wr`date +%H%M`" | microcom -p /dev/ttyUSB0 -s 115200
    fi
}
 
##先初始化锁和充电开关
getdev $SW_DOOR
getdev $SW_FORCER
getdev $SW_CHANGE
getdev $SW_DSKLED
 
while :
do
    getdev $SW_POWER
    getdev $SW_DSKLED
    getdev $SW_DOOR
    getdev $SW_FORCER
    getdev $SW_CHANGE
     
    if [ "`date +%H%M`" -ge "1900" ];then   ##时间在下午5点20后
        if [ "$FI35" == "0" ];then  ##是否查找过设备233)0否不在线 1是在线
            if [ "`ping 192.168.1.233 -c 1 -S 1 &> /dev/null;echo $?`" == "0" ];then ##查找手机是否在线
                gpio -g write 21 0
                gpio -g write 19 0
                FI35=1
            fi
        elif [ "`date +%H%M`" -ge "1905" ];then ##如果手机不在线则判断时间是否在晚上7点以后
            if [ "$CLE_TIME" -le "5" ];then
                ((CLE_TIME++))
                echo "CLE_TIME $CLE_TIME"
            else
                CLE_TIME=0
                if [ "`ping 192.168.1.233 -c 1 -S 1 &> /dev/null;echo $?`" == "1" ];then ##如果不在线则清除标记
                    if [ "$CLOSE_LED" == "0" ];then
                        CLOSE_LED=1
                    else
                        CLOSE_LED=0
                        gpio -g write 21 1  ##关灯关电源
                        gpio -g write 19 1
                        FI35=0
                    fi
                fi
            fi
        fi
    elif [ "`date +%H%M`" -le "0230" ];then ##时间是否在凌晨2点半以内
        if [ "$FI35" == "0" ];then  ##如果是,则判断手机是否在线
            if [ "`ping 192.168.1.233 -c 1 -S 1 &> /dev/null;echo $?`" == "0" ];then ##如果手机在线则开灯
                gpio -g write 21 0
                gpio -g write 19 0
                FI35=1
            fi
        fi
    elif [ "$FI35" != "0" ];then    ##否则关灯
        FI35=0
        gpio -g write 19 1
        gpio -g write 21 1
    fi
         
    sleep 1
    ledtime
    gpio -g write 6 1
done

然后,是数据上传的程序。通过检测环境数据然后上传到yeellink上,然后yeellink可以自动记录并绘制图表,可以很直观的看到最近的气象温度变化以及树莓派的状态。
20160626192247985-0
额……好像光敏传感器有点问题……不管啦…然后可能由于室外18B20被太阳直接照射的原因……最近温度一直很高……
然后晚上的温度还是比较正常的……(广西真的好热!)
20160626192247377-0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#!/bin/bash
##连接物联网发送CPU温度
##BY PokeBox
##创建于:2014年9月27日
##最后修改:2014年9月30日 02:04:38
echo "  ##Start YeeLink_Temp......"
APIKEY=''   ##APIKEY
TMPDIR=/tmp/my      ##临时数据目录
TTYFIFO=/run/ttyAMA0.fifo   ##/tmp/ttyAMA0.fifo
sudo modprobe w1-gpio
sudo modprobe w1-therm
gettime(){
    YY=`date +%Y`;MO=`date +%m`;DD=`date +%d`
    HH=`date +%H`;MM=`date +%M`;SS=`date +%S`
}
getCPUMHZ(){
    deviceid=你的设备号
    sensorid=你的传感器号
    VAL=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq | awk '{print $1/1000}'`
    echo -e "\e[36;1mCPU_MHz : ${VAL}\e[0m"
}
 
getCPUdata(){       ##获取CPU数据
    deviceid=你的设备号                  ##设备号
    sensorid=                   ##传感器号
    VAL=`cat /sys/class/thermal/thermal_zone0/temp | awk '{print $1/1000}'`
}
getCPULoad(){       ##获取CPU使用率
    deviceid=你的设备号
    sensorid=
    VAL=$(top -b -n 2 | grep ^%Cpu | sed -n "2p" | sed -e 's/^.*://g;s/..,//g;s/st//g' | awk '{print "scale=1; 100-" $4 }' | bc)
    echo -e "\e[36;1mCPU_USER : ${VAL}\e[0m"
}
 
## 删除数据点 http://api.yeelink.net/v1.0/device/你的设备号/sensor/传感器号/datapoint/时间点
getbdata(){     ##获取18b20温度数据室内
    deviceid=你的设备号                  ##设备号
    sensorid=                   ##传感器号
    VAL=`cat /sys/bus/w1/devices/28-000005823549/w1_slave | grep 't=' | sed 's/^.*t=//g' | awk '{print $1/1000}'`
    echo -e "\e[36;1m18B20_IN : ${VAL}\e[0m"
}
getboutdata(){      ##获取18b20温度数据室外
    deviceid=你的设备号                  ##设备号
    sensorid=                   ##传感器号
    VAL=`cat /sys/bus/w1/devices/28-00000581ea9e/w1_slave | grep 't=' | sed 's/^.*t=//g' | awk '{print $1/1000}'`
    echo -e "\e[36;1m18B20_Out : ${VAL}\e[0m"
}
GetPowerTempData(){
    sensorid=
    VAL=`cat /sys/bus/w1/devices/28-031604d2d0ff/w1_slave | grep 't=' | sed 's/^.*t=//g' | awk '{print $1/1000}'`
        echo -e "\e[36;1m18B20_Power : ${VAL}\e[0m"
}
getlight(){
    sensorid=
    VALa=`tac ${TTYFIFO} | grep -a 'AD0' | sed -n '2p' | awk '{print $3}' | sed 's/\r//'`
    VAL=`echo "1024 - ${VALa}" | bc`
    echo -e  "\e[36;1mLux : ${VAL}\e[0m"
}
 
senddata(){     ##发送数据
    gettime
    echo "{
  \"timestamp\":\"${YY}-${MO}-${DD}T${HH}:${MM}:${SS}\",
  \"value\":${VAL}
}" > $TMPDIR/datafile.txt
    URL="http://api.yeelink.net/v1.0/device/${deviceid}/sensor/${sensorid}/datapoints"  ##物联网地址
    curl --request POST --header "U-ApiKey: ${APIKEY}" --data-binary @$TMPDIR/datafile.txt ${URL}
}
oraynewph status &
while :
do
    getCPUMHZ;senddata  ##CPU频率
    getCPUdata;senddata ##CPU温度
    getCPULoad;senddata ##CPU使用率
    getlight; senddata  ##室外亮度
    getbdata
    TMPVAL=$(echo ${VAL%.*})
    if [ "$TMPVAL" -le "0" ];then
        echo 1 &> /dev/null
    else
        senddata    ##室内温度
    fi
    getboutdata
    TMPVAL=$(echo ${VAL%.*})
    if [ "$TMPVAL" -le "0" ];then
        echo 1 &> /dev/null
    else
        senddata    ##室外温度
    fi
    GetPowerTempData
    TMPVAL=$(echo ${VAL%.*})
        if [ "$TMPVAL" -le "0" ];then
                echo 1 &> /dev/null
        else
                senddata        ##电源温度
        fi
 
    sleep 2m    ##间隔2分钟发送一次
done

上面是发送传感器数据到yeellink的bash代码,大家如果需要的话……自己去yeellink注册然后创建设备和传感器,然后把你的APIKEY和设备传感器号填到那些对应的变量上就可以用了……然后,上面那三个18B20的设备号是我的18B20的设备号,每一个18B20都有唯一的设备号,大家自己去修改。

除此之外,大家还可以通过树莓派上的crontab来创建任务,比如在指定时间打开音响播放音乐来做闹钟~
20160626192247312-0
20160626192247665-0
这是我用饮料罐自己DIY的音响,配合那个驱动板使用,这样的低音炮,妈妈再也不用担心我起不来床了~

然后,仔细看的话,大家也许发现第一段代码里有一条发送时间给LED点阵的函数,是的,那个函数是用来驱动这货的……
20160626192247526-0
因为我房间里没有钟,甚至……我家里都没有钟!所以就自己DIY吧……下面是其他时间段的效果
20160626192247301-0
20160626205550888-0

树莓派搭建家庭服务器 1、smba安装 sudo apt-get update sudo apt-get install smba 2、配置smba 在/etc/samba/smb.conf添加 [msyshare] comment = msyshare storage path = /media/pi/msyshare read only = no create mask = 0777 directory mask ... 阅读详情

相关推荐

基于ARM树莓派实现智能家居:语音识别控制,Socket网络控制,火灾报警检测,实时监控

● 语音模块识别语音来控制各个灯的开关,基于串口通信来配置语音命令的内容。● 搭建TCP服务器,用socket网络通信的方式控制各个灯的开关,手机客户端发送指令到电脑服务器端来实现控制功能。● 火灾报警,火焰检测模块结合蜂鸣器开发。接收火焰状态,检测有火源靠近时,蜂鸣器输出低电平发出警报声响,并在终端显示火灾危险提示,检测没有火源时,蜂鸣器输出高电平,停止报警声。

m0_74985965的博客 3878

【合集】用Raspberry Pi(树莓派)打造各种服务器

【合集】用Raspberry Pi(树莓派)打造各种服务器 Raspberry Pi(树莓派)有很多的应用,其中搭建服务器是大家应用比较多的,今天就整理一个合集用Raspberry Pi(树莓派)打造各种服务器。 欢迎大家提出宝贵意见,更欢迎大家补充您用树莓派所做的好玩的应用! [教程] 将树莓派变成网络打印机服务器(更新PC和手机端设置)! http://www.eeboard.

wzs298的专栏 2万+

树莓派专用智能电源使用说明

关键词: 树莓派B系列 智能电源 串口通信 电池电压查询 输出电压查询 运行时间查询 电压阈值设置 输出开闭控制 概述:树莓派4B搭载博通最新的BCM2711处理器,相比于上一代树莓派3B+,性能有着2~4倍的提升,4B要求5V3A的电源供电,通常普通电源都是5V2A。为此我们设计了一款支持树莓B系列的智能电源,该电源能够与树莓派通过扩展IO的串口相连接,提供电池电压数据和输出电压数据等,除此之外,支持树莓派控制电源输出等功能。 连接示意图 使用前准备: 测试使用:树莓派4B 系...

6355

树莓派制作家用服务器,用树莓派打造自己的多媒体服务器

缘起今年树莓派3刚发售的时候就下单了树莓派3,,打算拿它来研究点东西。最近买了一些学习的会员账号,下载了一些视频和音频的会员服务,想在家里学习一下。问题是,家里有好几个设备,PC、mac和手机,如果在每台设备上都能看(听)的话,要分别在设备插上移动硬盘,这样当然是观看最直接的方式,但是这样势必非常的麻烦,每次都要拔插硬盘,而且手机也不支持移动硬盘;当然也可以将文件分别保存到各个设备上面,但是这样一...

weixin_39805119的博客 1196

2025年人形机器人产业研究

人形机器人是一种模仿人类外形、动作和行为的机器人,旨在替代或辅助人类完成各种任务。其显著特征包括人类外形、动作模仿和智能交互能力。根据形态和功能,人形机器人可分为小型、中型、大型以及服务型、工业型、救援型和娱乐型等类别。发展历程经历了初始阶段、高度集成系统阶段和突破性进展阶段,技术不断进步。关键技术包括执行系统、控制系统和感知与交互系统,涉及机械结构、运动控制、平衡控制、任务执行控制以及感知与交互能力。主要研究方向包括外部仿人化和内部仿生,前者关注外观设计、动作控制和任务执行能力,后者致力于模拟人类核心机制

一名80后IT人的成长记录,记录自己在工作、学习中的点点滴滴,在成长的喜悦与忧心的故事里,铭记反脆弱的勇气。 1559

Delta-Sigma调制(DSM)技术

前言 数字信号处理和通信系统的性能很大程度上受到了模拟信号到数字信号转换接口——ADC的精度和分辨率的限制。而传统的线性脉冲编码调制(PCM)ADC受到了制造工艺的限制,无法达到很高的分辨率。但基于Delta-Sigma调制技术的ADC可以在现有工艺下实现高分辨率(大于16位),同时由于结构简单,所以易于实现。低成本高性能使得Delta-Sigma调制技术得到了广泛的应用。 Delta-Sigma型ADC的结构原理图如下图所示: 它最大的优势在于仅用1位ADC进行数据转换,同时其模拟电路部分结构简单不需要

阿星的博客 2万+

用树莓派打造一个属于自己的服务器

树莓派(raspberry)打造一个属于自己的服务器

weixin_43724249的博客 6163

Tesseract-Ocr踩坑下载以及进行检验

1 OCR,即Optical Character Recognition:光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。下载完成后进行解压找到这两个,然后复制到之前下载Tesseract-Ocr的tessdata文件下。可能会出现报错说chi下载的问题咱们不用管继续ok让它先下载完毕,后续会有下载chi的步骤。四、检验tesseract使用(将以下图片进行下载我这里将以下图片命名为3.png)我这里选的是2024年的版本如果下载不了;4 在安装的时候(找到下载的exe文件,双击)

m0_51428325的博客 1911

聊聊树莓派吧(2)

续 >聊聊树莓派吧(1) 上篇博文主要讲了树莓派的由来及其发售的一些事情, 这次我们来聊聊树莓派的历史。 前言 在知道树莓派能「干什么」之前, 我们首先必须知道它「是什么」。 树莓派被称为卡片式电脑, 它拥有计算机所有的功能并且将其完全集成到一张卡片大小的电路板上去。 我们知道一台电脑想要工作, 必须要有处理器(包含控制器和运算器)和存储器, 想要人机交互还需要有输入设备...

迷路的程序员 2218

高斯投影坐标正反算算法(python)

高斯坐标正反算算法,在正算的时候,y的第一个数字表示是用几度带换算的,第二个数字和第三个数字表示带号。该程序是根据武汉大学出版社出版的第三版的《大地测量学基础》编写, 用于课程实验学习。

weixin_64338372的博客 4581

告别轮询!手把手教你用S32K3的FlexCAN Enhanced FIFO+DMA实现高效CAN FD数据接收

本文详细介绍了如何利用S32K3芯片的FlexCAN Enhanced FIFO与DMA组合方案,实现高效CAN FD数据接收,彻底告别传统轮询和中断模式。通过深度缓冲、智能过滤和DMA联动技术,该方案在5Mbps高负载场景下将CPU占用率从42%降至3%以下,显著提升系统实时性和吞吐量。

weixin_30906185的博客 499

3.14项目进度小结

今天学习的内容: 基本概念的了解: 智能家居系统:智能家居系统能为各种不同通信协议的智能电器和传感器提供统一的解决方案,实施控制与数据监测。网上开源的智能家居系统有openhab、home assistant、Domoticz,以及其他开源软件戳这里,还有这里。 智能家居系统的开源尝试: https://blog.csdn.net/wireless_com/article/details...

weixin_43868898的博客 273

Error: Flash Download failed - Target DLL has been cancelled

由于换了新电脑,keil重装了下,然而之前的MCU的支持包没有安装,以及一些其他的问题,导致可以编译但是不能将程序烧录到单片机中。现整理一下解决思路: 1、将支持包下载并添加: 找到你需要用的MCU的具体型号: 例如: 点击网址,下载安装包,或者在csdn等其他网址下载安装包,将下载好的pack包放到keil5的安装目录下的.Download中: 点击file中的import,将路径选择到.........

hanhan的博客 5万+

树莓派A+(Init)

由于这个版本的树莓派性能很差,且几乎已经淘汰,直接给出图片过程。建议第二个,第一个可能会出错。

lxy200528的博客 373

《FreeRTOS 入门与实战》第20章:移植到 RISC-V 平台

处理器上下文保存/恢复机制中断处理与任务切换的协同时钟源配置(通常使用 Machine Timer)平台特定的汇编代码实现// 典型RISC-V移植文件结构FreeRTOS/├── Source/portable/[编译器]/RISC-V/│ ├── port.c // 关键移植接口│ ├── portASM.s // 汇编级处理│ └── portmacro.h // 架构宏定义。

2301_79143213的博客 443

区块链技术概述:从比特币到Web3.0

区块链技术正重塑数字世界的信任机制。本文系统梳理了区块链的发展路径:从比特币的PoW共识和UTXO模型,到以太坊的智能合约和账户体系,直至Web3.0的去中心化互联网愿景。文章详细解析了区块链的核心特性(去中心化、不可篡改等)和数据结构,通过流程图展示了比特币交易生命周期和智能合约执行流程,并对比了Web2.0与Web3.0的关键差异。最后,用Python代码实现了包含区块类、交易处理和挖矿机制的简易区块链系统,为理解区块链底层原理提供了实践参考。

闲人编程的博客 447

基于ZigBee的智能家居设计与实现—MQTT服务器搭建+APP开发

目录MQTT服务器搭建APP开发易安卓环境搭建易安卓基础介绍关于易安卓新建工程界面介绍易安卓使用到的操作演示易语言使用到的语法演示MQTT实现MQTT组件介绍与添加重点介绍APP样例 MQTT服务器搭建 emqx-windows-4.2.7 安装包:链接:https://pan.baidu.com/s/1SU_p1La85CLSWa-opcoJQA 提取码:LK5B 复制这段内容后打开百度网盘手机App,操作更方便哦 提取码:LK5B 将压缩包解压到D盘根目录 Win+R 输入CMD打开命令窗口 依次输

AS_sleep的博客 4424

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

玩转树莓派Pico(18): 迷你气象站4——硬件整合

根据以前捣鼓的经验,设计时可以想的多点,实际操作时要简化或分步,以防动手能力和想象力不匹配导致烂尾。

记录我的学习过程 1121

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

基于树莓派4B的智能家居系统设计

该项目主控为树莓派4B开发板,使用 wiringPi 库结合 DHT11 温湿度传感器、火焰传感器、振动传感器、烟雾传感器、蓝牙模块、L298N电机驱动模块、继电器组模块、SU-03T语音模块、CSI 摄像头模块、风扇模块等,可实现语音控制、网络控制、自制蓝牙手机APP或者安卓APP控制继电器状态从而控制灯、风扇、警报器的开关,可以结合 mjpg-streamer 库,CSI 摄像头实现视频监控和通过翔云人工智能开放平台或阿里云进行人脸识别进而通过 PWM 控制舵机旋转模拟开关门状态,当有火

wei_Embedded_z的博客 4551

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

树莓派打造智能家居(三):Homeassistant -----实现控制小灯

之前的是配置

y459541195的博客 1万+

内网穿透:在家本地也能搭建“公网服务器”?转发/直连、原理/操作一文读懂!

内网穿透技术允许外网用户访问内网设备,解决了家庭网络中没有公网IP、防火墙端口屏蔽等问题。简单说,就是让外网用户访问你家里/公司的内网设备(比如电脑、摄像头、服务器)。内网穿透就像“网络世界的任意门”,让受限的内网设备也能拥抱公网。你的家在内网小区(无门牌号),快递员(外网请求)不知道具体住哪栋楼。你其实没有公网IP: 运营商分配的是“共享IP”(NAT技术),外网无法直接找到你的设备。原理: 利用NAT设备的漏洞,让两台内网设备直接通信(类似微信视频通话)。其实,这些问题都能用内网穿透解决!

csghdn的博客 3390

搭建私有化物联网系统,自定义企业级智能家居控制

自行搭建物联网系统,才是中小企业长远发展的选择,一方面满足企业自身的个性需求,不断迭代升级,在使用中完善,另一方面可避开长期使用第三方提供的云端API导致的风险。企业只要寻找市场上开放的智能设备,接入自建的物联网系统就好。

1576

搭建Domoticz智能家居服务器实现外网控制ESP8266

文章目录智能家居系统设想Domoticz服务器搭建MQTT服务器的搭建外网控制的实现方法Arduino IDE程序的实现 智能家居系统设想 Domoticz服务器搭建 MQTT服务器的搭建 外网控制的实现方法 Arduino IDE程序的实现 最近都是在研究一套开源的,又可以实现外网控制的物联网方案, ...

weixin_45211901的博客 3913

基于WEB的智能家居系统—服务器搭建

服务器搭建: 一、服务器选择: 在服务器操作系统的选择上,我们选择了LINUX的操作系统,因为它有一下几点诱人的优点。 第一、 安全性: LINUX作为服务器有较高的安全性。 第二、 低成本: 来源于LINUX的嵌入式LINUX是开放源代码的自由软件,遵循GPL协议,嵌入式LINUX的源代码可以自由获得,使用嵌入式LINUX开发嵌入式应用,用于购买嵌入式操作系统的费用可以忽略不计。 第

dxmcu的专栏 8983

树莓派可以用计算机电源吗,想玩树莓派:你必须知道的10件事

在让大众自由掌控 PC 强大功能的革命中,树莓派 是核心,为我们提供了一个具有广泛生态支持的易用型平台。虽然该平台直观易用,但工程师和初学者依旧可以受益于使用过 Pi 的用户提供的一些小技巧。“需要知道的 10 件事”不会尽述所有内容,在线交流论坛将就此提供持续支持。这些有价值的信息可能无法在任何指南或教程中找到,但它们是来之不易的经验总结。这包括选择和格式化 SD 卡、选择 树莓派 的电源、选择...

weixin_39841610的博客 2453

【Linux】树莓派各版本硬件原理图下载地址

https://www.raspberrypi.org/documentation/computers/raspberry-pi.html Raspberry Pi 4 Model B Raspberry Pi 3 Model B+ Raspberry Pi 3 Model B Raspberry Pi 2 Model B Raspberry Pi Model B+ Raspberry Pi 3 Model A+

love131452098的博客 4936
上一篇: 树梅派应用17:树莓派3如何使用蓝牙
下一篇: 树梅派应用19:树莓派安装OpenWRT做路由器图文详解
huayucong
博客等级 码龄12年 347粉丝 230原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值