zoukankan      html  css  js  c++  java
  • 记树莓派的一个项目_远程控制三色灯

    概述

    功能:用同一局域网下的安卓手机或者苹果电脑来控制接在树莓派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
    
  • 相关阅读:
    常见的单链表题目
    一个string类的几个函数
    strcpy和memcpy的区别
    字符串及 strcpy几种写法
    什么函数不能声明为虚函数
    STL中Vector和List的底层数据结构
    C/C++堆、栈及静态数据区详解
    tcp四次握手
    几个知识点
    内存对齐的规则与作用
  • 原文地址:https://www.cnblogs.com/xuanyu-10-18/p/13244910.html
Copyright © 2011-2022 走看看