目标: 测试四核 A53 树莓派 Raspberry Pi 3B+ 无线路由器, 轻量级WEB 服务器(Nginx,PHP,Sqlite3),UART 串口数据采集性能


初始配置,部分选项需要sudo reboot 重启后生效

开启 ssh,serial 功能,设置时区, 编码等

$ sudo raspi-config

树莓派3加入了蓝牙功能,把/dev/ttyAMA0串口分配给蓝牙了。之前使用J8.8, J8.10这个串口是对应/dev/ttyAMA0的,但是现在重新分配给/dev/ttyS0了;

启用Serial 串口, ttyS0:

$ sudo vi/boot/config.txt#内容
enable_uart=1

更换为国内软件源,以加快软件更新和安装速度:

$sudo vi /etc/apt/sources.list#添加内容
deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi  

系统更新及软件升级

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade
$ sudo rpi-update

安装输入法

$sudo apt install fcitx

更改时区为中国上海时区

$ date // 检查当前时区
$ dpkg-reconfigure tzdata    // 选择 Asia & Shanghai

无线路由器软件安装

(hostapd: 软件能使无线网卡工作在软AP(Access Point)模式,即无线路由器,dnsmasq 软件提供DHCP和DNS服务, pppoeconf 网络拔号软件)

$ sudo apt-get install dnsmasq hostapd pppoeconf

raspbian 系统中默认使用 dhcpd 来配置网络,因 wlan0 工作在AP模式,所以需要设为静态IP地址,故在配置文件 /etc/dhcpcd.conf中禁用wlan0.

$sudo vi /etc/dhcpcd.conf#内容
#interface eth0
#fallback static_eth0denyinterfaces wlan0

在 /etc/network/interfaces 设置网卡的静态IP地址

$sudo vi /etc/network/interfacessource-directory /etc/network/interfaces.dauto lo
iface lo inet loopbackauto eth0
iface eth0 inet static
address 192.168.0.250
netmask 255.255.255.0
gateway 192.168.0.1allow-hotplug wlan0
iface wlan0 inet static
address 192.168.10.1
netmask 255.255.255.0

hostapd 配置文件

$sudo vi /etc/hostapd/hostapd.conf#内容# This is the name of the WiFi interface we configured above
interface=wlan0
# Use the nl80211 driver with the brcmfmac driver
driver=nl80211
# This is the name of the network
ssid=RPI_3B_Plus_Router
# Use the 2.4GHz band
hw_mode=g
# Use channel 6
channel=6
# Enable 802.11n
ieee80211n=1
# Enable WMM
wmm_enabled=1
# Enable 40MHz channels with 20ns guard interval
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
# Accept all MAC addresses
macaddr_acl=0
# Use WPA authentication
auth_algs=1
# Require clients to know the network name
ignore_broadcast_ssid=0
# Use WPA2
wpa=2
# Use a pre-shared key
wpa_key_mgmt=WPA-PSK
# The network passphrase
wpa_passphrase=raspberry
# Use AES, instead of TKIP
rsn_pairwise=CCMP 

hostapd 配置文件启动设置

$sudo vim /etc/default/hostapd// 找到“#DAEMON_CONF=”,去掉#注释,补全为
DAEMON_CONF="/etc/hostapd/hostapd.conf"

完成配置后,检查是否配置成功

$sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf

如果最后两行出现了如下,则为正常
wlan0: interface state UNINITIALIZED->ENABLE
wlan0: AP-ENABLED

重启hostapd

$sudo service hostapd restart

如启动不成功的处理办法

$sudo systemctl disable dhcpcd
$sudo systemctl enable networking
$sudo reboot$sudo hostapd -B /etc/hostapd/hostapd.conf #开机后再次启动hostapd服务, 把此命令写入 rc.local 开机时自动启动
$sudo vim /etc/rc.local#新增内容
$sudo hostapd -B /etc/hostapd/hostapd.conf #开机时自动启动 hostapd 服务exit 0 

dnsmasq 配置

$sudo vim /etc/dnsmasq.conf#内容
interface=wlan0 # Use interface wlan0
listen-address=192.168.10.1 # Explicitly specify the address to listen on
bind-interfaces # Bind to the interface to make sure we aren't sending things elsewhere
server=8.8.8.8 # Forward DNS requests to Google DNS
domain-needed # Don't forward short names
bogus-priv # Never forward addresses in the non-routed address spaces.
dhcp-range=192.168.10.100,192.168.10.200,12h # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time

重启 dnsmasq 服务

$sudo service dnsmasq restart

开启Linux内核的IP转发以及使用iptables做NAT表,让无线网卡的数据通过有线网卡转发出去

开启Linux内核的IP转发功能

$sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

开启树莓派有线网卡和无线网卡的转发功能 (手动命令行开启,如不保存,重新开机则会失效)

$sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
$sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
$sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

保存当前的防火墙策略到配置文件中

$sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

修改系统启动脚本,添加启动任务

$sudo vim /etc/rc.local#新增内容
sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
iptables-restore < /etc/iptables.ipv4.natexit 0 

dnsmasq经常会出现问题,原因是wlan0还没热启动完成,而dnsmasq先启动了,所以出现了启动失败的现象。 
这里的解决方案就是采用延时启动

在 /etc/rc.local 文件中,  exit 0 之前加入以下命令

$sudo bash /etc/dnsmasq_delayinit.sh

建立文件 dnsmasq_delayinit.sh

$sudo vim /etc/dnsmasq_delayinit.sh#内容
#!/bin/sh
sleep 10
sudo service dnsmasq restart

把 dnsmasq_delayinit.sh 设置成可执行

$sudo chmod +x /etc/dnsmasq_delayinit.sh

查看服务

$service hostapd status
$service dnsmasq status

待继续测试和完善....

树莓派 Raspberry Pi 3B+ 无线路由器, WEB 服务器(Nginx,PHP,Sqlite3),UART 串口数据采集相关推荐

  1. 树莓派要mysql的密码_树莓派raspberry Pi 3B+系统中安装mysql过程中不提示输入密码,安装完后如何设置密码...

    树莓派raspberry Pi 3B+安装mysql未提示输入密码,安装后修改mysql密码默认密码 使用mysql -uroot -p 命令连接mysql时,报错 pi@raspberrypi:/ ...

  2. 树莓派 Raspberry Pi 3B+安装官方系统(一)

    两年前购买的树莓派(可看当时我的记录树莓派 3B + 重装系统并配置 WiFi | YouForever)已经在角落里吃灰了好长时间,一度以为已经损坏,几天前试着拿出来折腾一下,竟然神奇地复活了,开心 ...

  3. raspberry pi_如何使用Raspberry Pi设置个人Web服务器

    raspberry pi 个人Web服务器是"云",除了您拥有并控制它而不是大型公司. 拥有一点云有很多好处,包括自定义,免费存储,免费Internet服务,通向开源软件的路径,高 ...

  4. VLOG丨树莓派Raspberry Pi 3安装PLEX并挂载USB硬盘打造最牛的微型家庭影音服务器2018...

    视频介绍 树莓派3安装目前最流行的PLEX服务器,实现既能最大限度降低功耗,也能随时随地观看分享影片. 一.在树莓派下安装PLEX媒体服务器 1.在终端,将你的树莓派更新至最新 sudo apt up ...

  5. raspberry pi 3B 树莓派 安装tensorflow

    raspberry pi 3B 树莓派 安装tensorflow 这两天买了raspberry pi 3b回来折腾着玩,拿到手装好系统后就开始安装树莓派版本的TensorFlow,这个安装过程也是踩了 ...

  6. 树莓派Raspberry Pi 系统搭建和智能机器人小车的组装调试

    本文的出发点:无意接触到树莓派这款优秀的芯片,比较适合青少年编程,激发孩子的编程思维的培养,最好的学习就是实战,借助于淘宝上现成零件式的智能小车硬件和树莓派实现智能机器人小车的实现,给孩子带来低成本高 ...

  7. 树莓派(raspberry pi)日记1之个人网站的构建(localhost内网穿透实现公网可以访问)

    树莓派(raspberry pi)日记1之个人网站的构建(localhost内网穿透实现公网可以访问) 板子:raspberry pi 3B+ // 作者:shawn 2021.2.9 14:10 A ...

  8. Facebook 发币 Libra;谷歌十亿美金为穷人造房;第四代树莓派 Raspberry Pi 4 发布 | 开发者周刊...

    [CSDN编者按]六月最后一周的科技圈,就像北京的桑拿天一样热闹.Facebook发币.Google 10 亿美金给穷人造房子,京微力小程序大赛如火如荼地举行......最近一周就有哪些开发者新闻呢? ...

  9. CSDN周刊:Facebook 发币 Libra;谷歌十亿美金为穷人造房;第四代树莓派 Raspberry Pi 4 发布

    [CSDN编者按]六月最后一周的科技圈,就像北京的桑拿天一样热闹.Facebook发币.Google 10 亿美金给穷人造房子,京微力小程序大赛如火如荼地举行-最近一周就有哪些开发者新闻呢?就在本期开 ...

最新文章

  1. 绿米开关如何重置_小米米家墙壁开关实物到手实际体验
  2. KDD2020接受论文列表已公开!338篇优秀论文汇总!
  3. insert数据时,获取插入数据的id
  4. 客户端支持的cookie
  5. 2019年春季学期第九周作业
  6. 美团配送A/B平台评估体系建设与实践
  7. PSD分层素材模板,快速设计美妆类海报
  8. 初学Kotlin——在自定义View里的应用
  9. JS 框架 :后台系统完整的解决方案
  10. 电脑处理器排行榜2021版
  11. 刷leetcode不知道从哪里刷起?? 来看看,我把刷题题目顺序都排好了,每道题还带详细题解!
  12. Linux 命令查询工具
  13. python制作课程表_创建课程表设计
  14. 基于python实现网络课程秒刷
  15. python毕业设计作品基于django框架 电影院购票选座系统毕设成品(5)任务书
  16. Arxiv 2206 | Global Context Vision Transformers
  17. 【MODIS数据处理#11】例六:绘制NDVI多年变化趋势空间分布图
  18. php提取bing背景,使用PHP获取必应Bing每日图片
  19. Anaconda和pip的区别
  20. blt功能_BitBlt使用详解 | 学步园

热门文章

  1. linux游戏星际公民,鲜游快报:《星际公民》众筹破3.1亿美元 公布新视频展示新机制...
  2. GD32103系列 电机驱动项目总结
  3. php的turn服务器,搭建TurnServer服务器
  4. asp.net 浏览器下载文件的四种方式
  5. 阿里的CTR预测:Deep Interest Network
  6. 国仁网络资讯:抖音被降权、限流、警告了怎么办;触碰了抖音哪些违规行为。
  7. windows无法连接到共享打印机,错误码:0x0000011b
  8. 佳明 Fenix 7S、佳明Fenix 7和Fenix 7X评测
  9. Python爬取动态网页实例讲解
  10. 交通安全评价方法简介