轩_雨

青山不厌三杯酒,长日惟消一局棋
记树莓派的一个项目_远程控制三色灯

概述

功能:用同一局域网下的安卓手机或者苹果电脑来控制接在树莓派GPIO上三色灯的颜色

语言:linux C

设备:

  • 安卓手机:HUAWEI Mate 10 Pro

  • 苹果电脑:MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports)

  • 树莓派:树莓派3B+ (操作系统: Raspbian)

展示:

  • Mac端
    img
  • Android端
    img
  • 树莓派的log
    img

代码:https://gitee.com/xuanyusan/raspberrypi_IPC.git

说明:led.c、server.c编译后运行在树莓派上,client.c编译后运行在手机端或者电脑端。

安卓机的事前准备

1、下载termux

为了使在安卓手机上运行C代码如同在linux环境下一般,需要下载termux。

推荐一篇关于termux的比较全面的介绍:https://www.sqlsec.com/2018/05/termux.html。

为了满足这个项目,需要在termux安装clang

pkg install clang

2、代码的传输

既可以用ssh,也可以直接通过复制粘贴将代码拷贝到手机上,用termux自带的vi编辑器生成client.c文件。

树莓派的事前准备

1、事前准备的事前准备

  • 安装操作系统Raspbian
  • 启动VNC(VNC不是必须的,但有必要检查一下ssh是否开启,默认应该是允许用户pi远程登陆的)
  • 明确hostname和ip

2、下载wiringPi

apt install wiringPi

版本:gpio version: 2.50

3、创建具名管道

mkfifo ledFifo

苹果机的事前准备

安装VNC Viewer

VNC只是为了可以用熟悉的桌面操作系统操作树莓派而已,并非必须。

最后的编译运行

1、编译前

编译前我们需要将client.c所要连接的ip改成树莓派的ip地址

2、编译

对于led.c的编译

gcc -o led led.c -lwiringPi

对于server.c的编译

gcc -o server server.c

对于client.c的编译

gcc -o client client.c

3、运行

先在树莓派(服务端)运行

# 运行以下两个文件的先后顺序不要更改
./led
./server

再在手机或者电脑(客户端)运行,可以同时多端运行

./client

posted on 2020-07-06 16:44  轩_雨  阅读(753)  评论(0编辑  收藏  举报