• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

手机控制单片机,该如何去实现

Enthusiasm 2019-03-29 浏览量:2414
想用嵌入式(单片机)做一个LED屏幕的万年历,希望能用手机控制调节时亮度等,应该怎样去做呢!
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 单片机使用wifi模块(比如ESP8266)连接到云服务器(比如OneNET,个人免费),在云服务器上创建项目需要设置的参数都在项目中设置好,单片机通过wifi模块访问云服务器,定时上传状态信息。在手机端使用APP(OneNET有公用的APP)连接到自己的云服务器账户,就可以查看单片机上传的信息了,同时可以设置云服务器,让服务器下发指令给单片机,单片机接收到指令后根据指令要求改变LED的亮度。整个过程在云服务器提供商那里都有详细的例程,建议从OneNET官网下载例程查看整体流程,代码实现起来并不是很复杂,但是需要对于网络协议比如MQTT等有所了解。
    • 发布于 2019-03-29
    • 举报
    • 评论 2
    • 4
    • 0
细风 回复了 Angel_YY:手机端是需要有app的吧,这个云平台也提供的有吗? 回复
Angel_YY 回复了 Angel_YY: 云平台也提供app的,官网上有app的下载链接。 回复

其他答案 数量:13
  • 首先需要手机跟单片机通信,一般可选蓝牙,wifi、红外等,都可以选择通信,如果想在线实现的话就需要用网关了,有线无线都行
    • 发布于2019-03-29
    • 举报
    • 评论 0
    • 2
    • 0

  • 可以参考onenet的物联网例程,把例程里面的控制led改成调节亮度,用esp8266连接服务器
    • 发布于2019-03-29
    • 举报
    • 评论 0
    • 2
    • 0

  • 用一块串口led屏通过8266进行控制 8266可以设置成ap模式

    手机连接8266进行通信

    • 发布于2019-03-29
    • 举报
    • 评论 0
    • 2
    • 0

  • 用低功耗蓝牙BLE4.0就可以了,也可以用8266,资料教程多,还可以用红外遥控,这个成本低,不过需要手机有红外发射遥控功能,一般旗舰机都有,没有也可以做一个红外发射头。
    • 发布于2019-03-29
    • 举报
    • 评论 0
    • 2
    • 0

  • 手机的通讯方式,比较方便的有蓝牙透传,还有wifi的UDP和TCP,以及基于TCP的MQTT和http协议。

    蓝牙透传的数据解析很容易在UDP或TCP直接互相移植。比如,用手机通过UDP(蓝牙透传或TCP)发送一个字符串。

    对于手机的发送端,字符串第一位作为数据起始校验,比如0x53(这个值随便定)

    第二位开始,顺序以每4个字节写入float数据(int也一样)。比如一个float型的亮度值 0.5,可以用共用体的方式拆成4个char类型变量。

    对于单片机的解析端,收到这个数据后,按发送端的方式做个反操作。

     

    可以参考这个页面,

    http://bbs.icxbk.com/thread-96649-1-1.html

    我在里面这写了个串口解析函数,void ma10_serial_cope(void)

    它演示了怎样把8位数据与32位float之间转换

    • 发布于2019-03-29
    • 举报
    • 评论 0
    • 2
    • 0

  • 首先使用单片机,配合时钟芯片、LED驱动芯片、LED屏幕显示万年历,这个有很多人做,相信题主也都搞定了。

    那下来就是如何用手机控制这个万年历。首先要建立通信,手机和万年历建立通信的方式,肯定是无线了,所选择的技术应该是蓝牙、WIFI、红外也算一种;除此之外应该就没了。

    那就需要给万年历配上蓝牙或WIFI模块;如果是蓝牙,建议使用串口透传的蓝牙模块,开发较为容易;

    如果使用WIFI,给万年历配上WIFI模块,然后连接服务器,手机通过WIFI也去连接服务器,通过APP发送指令来控制。

    • 发布于2019-03-29
    • 举报
    • 评论 0
    • 2
    • 0

  • 手机可以用蓝牙或是wifi的方式。单片机上要接上蓝牙或是无线的模块

    手机上还要写一个APP软件与单片机通讯。

    两边的命令协议匹配就可以

    • 发布于2019-03-30
    • 举报
    • 评论 0
    • 2
    • 0

  • 如果只是要控制选用蓝牙即可,要是要自动获取网上的时间就得用WIFI模块联网。
    • 发布于2019-03-30
    • 举报
    • 评论 0
    • 1
    • 0

  • 既然是手机控制单片机,肯定需要无线模块来做数据传递,比如8266就是常用的,通过串口来和单片机通讯
    • 发布于2019-03-30
    • 举报
    • 评论 0
    • 1
    • 0

  • 11.jpg

    建议使用蓝牙模块,你可以下载这个模块的资料,其剋通过WX连接蓝牙。

    其次使用NB-LOT 也是不错的方案

    最后GPRS、WIFI等也是可行的的,但是涉及手机端的软件开发工作量比较多。

    • 发布于2019-03-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 那个单片机最好带一个蓝牙模块,这样手机可以与它采用蓝牙通信,通过蓝牙下发指令来控制那个单片机

    或者直接用一个蓝牙和单片机二合一的芯片,比如TI的CC2640,因为这里的调光,通过一个IO就能实现,并不需要多复杂的功能

    通信协议可以用modbus,也可以自定义的

    • 发布于2019-03-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 那需要GSM模块了,如便宜一点的TC35二手的很多,单片机串口与之相连,可以通过对信息的解读就可以了,现在多用类似的远程控制。
    • 发布于2019-03-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个简单,蓝牙,wifi,红外线,时间的话要么获取网络时间要么取手机时间,App简单点用E语言也可以弄,
    • 发布于2019-04-02
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

手机控制单片机,该如何去实现