Yeelink初步体验
环境
概述
正文
$ls HISTORY.rst NOTICE requests/ setup.cfg LICENSE PKG-INFO requests.egg-info/ setup.py* MANIFEST.in README.rst requirements.txt test_requests.py*
其中的requests既可以用于Python2也可以用于Python3,然后将这个requests目录拷贝到对应Python的site-packages下面。
- 编译zlib:
1 #!/bin/bash 2 3 export CC=arm-none-linux-gnueabi-gcc 4 5 ../zlib-1.2.11/configure \ 6 --prefix=`pwd`
修改Makefile,修改AR和RANLIB如下:
AR=arm-none-linux-gnueabi-ar RANLIB=arm-none-linux-gnueabi-ranlib
- 编译Python3:
1 #!/bin/bash 2 3 ../Python-3.6.0/configure \ 4 --host=arm-none-linux-gnueabi \ 5 --build=armv7 \ 6 --prefix=`pwd` \ 7 --enable-ipv6 \ 8 --enable-shared \ 9 ac_cv_file__dev_ptmx="yes" \ 10 ac_cv_file__dev_ptc="no" \ 11 LDFLAGS="-L/home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/lib \ 12 -L/home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/lib \ 13 -L/home/pengdonglin/disk_ext/Third_Part/Termcap/aarch32/lib \ 14 -L/home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/lib"\ 15 CPPFLAGS="-I/home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/include \ 16 -I/home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/include \ 17 -I/home/pengdonglin/disk_ext/Third_Part/Termcap/aarch32/include \ 18 -I/home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/include"\ 19 LDLAST="-L/home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/lib \ 20 -L/home/pengdonglin/disk_ext/Third_Part/Termcap/aarch32/lib \ 21 -L/home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/lib" 22 23 make -j4 24 make install
安装完成后,也可以直接将lib/python3.6/lib-dynload/zlib.cpython-36m-arm-linux-gnueabi.so拷贝到板子上面的/usr/lib/python3.6/lib-dynload/下面即可, 而不必全部更新
- 编译Python2:
1 #!/bin/bash 2 3 ../Python-2.7.13/configure --prefix=`pwd` \ 4 --host=arm-none-linux-gnueabi \ 5 --build=x86_64-linux-gnu \ 6 --enable-ipv6 \ 7 --enable-shared \ 8 ac_cv_file__dev_ptmx="yes" \ 9 ac_cv_file__dev_ptc="no" \ 10 LDFLAGS="-L/home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/lib \ 11 -L/home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/lib \ 12 -L/home/pengdonglin/disk_ext/Third_Part/Termcap/aarch32/lib \ 13 -L/home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/lib"\ 14 CPPFLAGS="-I/home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/include \ 15 -I/home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/include \ 16 -I/home/pengdonglin/disk_ext/Third_Part/Termcap/aarch32/include \ 17 -I/home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/include"\ 18 LDLAST="-L/home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/lib \ 19 -L/home/pengdonglin/disk_ext/Third_Part/Termcap/aarch32/lib \ 20 -L/home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/lib"\
1 #!/bin/bash 2 3 make HOSTPYTHON=../x86_64/python \ 4 HOSTPGEN=../x86_64/Parser/pgen \ 5 BLDSHARED="arm-none-linux-gnueabi-gcc -shared" \ 6 CROSS_COMPILE=arm-none-linux-gnueabi- \ 7 CROSS_COMPILE_TARGET=yes \ 8 HOSTARCH=arm-none-linux-gnueabi \ 9 BUILDARCH=x86_64-linux-gnu \ 10 -j4
1 #!/bin/bash 2 3 make install HOSTPYTHON=../x86_64/python \ 4 BLDSHARED="arm-none-linux-gnueabi-gcc -shared" \ 5 CROSS_COMPILE=arm-none-linux-gnueabi- \ 6 CROSS_COMPILE_TARGET=yes \ 7 prefix=`pwd`
安装完成后,也可以直接将lib/python2.7/lib-dynload/zlib.so拷贝到开发板的/usr/lib/python2.7/lib-dynload/下面,而不用全部更新
- 然后修改mk_ramdisk.sh:
1 #!/bin/bash 2 3 thiry_part=/home/pengdonglin/disk_ext/Third_Part/ 4 cross_compile=/home/pengdonglin/disk_ext/Cross_Compiler/aarch32/ 5 6 sudo rm -rf rootfs 7 sudo rm -rf tmpfs 8 sudo rm -rf ramdisk* 9 sudo losetup -d /dev/loop0 10 sudo losetup /dev/loop0 ./fs_vexpress_1G.img 11 sudo partprobe /dev/loop0 12 13 sudo mkdir rootfs 14 sudo cp ${thiry_part}/Busybox/aarch32/_install/* rootfs/ -raf 15 16 sudo mkdir -p rootfs/proc/ 17 sudo mkdir -p rootfs/sys/ 18 sudo mkdir -p rootfs/tmp/ 19 sudo mkdir -p rootfs/root/ 20 sudo mkdir -p rootfs/var/ 21 sudo mkdir -p rootfs/mnt/ 22 23 sudo cp etc rootfs/ -arf 24 25 sudo cp -arf ${cross_compile}/arm-2014.05/arm-none-linux-gnueabi/libc/lib rootfs/ 26 27 #Python3 28 sudo mkdir -p rootfs/usr 29 pushd rootfs/usr 30 sudo cp -raf /home/pengdonglin/disk_ext/Python/Python3/aarch32/bin . 31 sudo cp -raf /home/pengdonglin/disk_ext/Python/Python3/aarch32/lib . 32 sudo cp -raf /home/pengdonglin/disk_ext/Python/Python3/aarch32/include . 33 sudo cp -raf /home/pengdonglin/disk_ext/Python/Python3/aarch32/share . 34 35 #Python2 36 sudo cp -raf /home/pengdonglin/disk_ext/Python/Python2/aarch32/bin . 37 sudo cp -raf /home/pengdonglin/disk_ext/Python/Python2/aarch32/lib . 38 sudo cp -raf /home/pengdonglin/disk_ext/Python/Python2/aarch32/include . 39 sudo cp -raf /home/pengdonglin/disk_ext/Python/Python2/aarch32/share . 40 popd 41 42 #SQlite3 43 sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/bin/* rootfs/bin/ 44 sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/include/* rootfs/include/ 45 sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/lib/* rootfs/lib/ 46 sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/share/* rootfs/usr/share 47 48 #Readline 49 sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/include/ rootfs/include/ 50 sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/lib/* rootfs/lib/ 51 52 #Zlib 53 sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/include/* rootfs/include/ 54 sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/lib/* rootfs/lib/ 55 56 #BeautifulSoup4 57 sudo cp -raf /home/pengdonglin/disk_ext/Python/BeautifulSoup4/beautifulsoup4-4.5.3/bs4 rootfs/usr/lib/python2.7/site-packages 58 sudo cp -raf /home/pengdonglin/disk_ext/Python/BeautifulSoup4/beautifulsoup4-4.5.3/py3k/bs4 rootfs/usr/lib/python3.6/site-packages 59 60 #Requests 61 sudo cp -raf /home/pengdonglin/disk_ext/Python/Requests/requests-2.3.0/requests rootfs/usr/lib/python2.7/site-packages 62 sudo cp -raf /home/pengdonglin/disk_ext/Python/Requests/requests-2.3.0/requests rootfs/usr/lib/python3.6/site-packages 63 64 #Boa 65 sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/WebServer/Boa/boa-0.94.13/src/boa rootfs/bin 66 sudo mkdir -p rootfs/usr/lib/boa 67 sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/WebServer/Boa/boa-0.94.13/src/boa_indexer rootfs/usr/lib/boa 68 sudo mkdir -p rootfs/var/www/cgi-bin 69 sudo mkdir -p rootfs/var/log/boa 70 71 sudo rm -rf rootfs/lib/*.a 72 sudo arm-none-linux-gnueabi-strip rootfs/lib/* rootfs/bin/* 73 sudo arm-none-linux-gnueabi-strip rootfs/usr/lib/boa/* 74 sudo arm-none-linux-gnueabi-strip rootfs/usr/lib/* 75 sudo arm-none-linux-gnueabi-strip rootfs/usr/bin/* 76 sudo arm-none-linux-gnueabi-strip rootfs/bin/* 77 78 sudo mkdir -p rootfs/dev/ 79 sudo mknod rootfs/dev/tty1 c 4 1 80 sudo mknod rootfs/dev/tty2 c 4 2 81 sudo mknod rootfs/dev/tty3 c 4 3 82 sudo mknod rootfs/dev/tty4 c 4 4 83 sudo mknod rootfs/dev/console c 5 1 84 sudo mknod rootfs/dev/null c 1 3 85 86 sudo mkdir ./tmpfs/ 87 sudo mount -t ext4 /dev/loop0p1 ./tmpfs/ 88 sudo rm -rf ./tmpfs/* 89 sudo cp -raf rootfs/* ./tmpfs/ 90 91 sleep 2 92 sudo umount ./tmpfs/ 93 94 sudo losetup -d /dev/loop0
3、测试
1 [root@vexpress ]# python3 2 Python 3.6.0 (default, May 6 2017, 00:08:14) 3 [GCC 4.8.3 20140320 (prerelease)] on linux 4 Type "help", "copyright", "credits" or "license" for more information. 5 >>> import requests 6 >>> 7 [root@vexpress ]# python2 8 Python 2.7.13 (default, May 6 2017, 00:11:41) 9 [GCC 4.8.3 20140320 (prerelease)] on linux2 10 Type "help", "copyright", "credits" or "license" for more information. 11 >>> import requests 12 >>>
1 #!/usr/bin/env python2 2 3 import requests 4 import time 5 6 apiurl = "http://api.yeelink.net/v1.0/device/7445/sensor/405914/datapoints" 7 apiheaders = {'U-ApiKey':'3957bd54eaddd2fda1f35841d52776d9'} 8 9 while True: 10 r = requests.get(apiurl, headers=apiheaders) 11 print(r.text) 12 sw = r.json() 13 if sw['value'] == 1: 14 print("Switch On") 15 elif sw['value'] == 0: 16 print("Switch Off") 17 time.sleep(2)
1 #!/usr/bin/env python3 2 3 import requests 4 import time 5 6 apiurl = "http://api.yeelink.net/v1.0/device/7445/sensor/405914/datapoints" 7 apiheaders = {'U-ApiKey':'3957bd54eaddd2fda1f35841d52776d9'} 8 9 while True: 10 r = requests.get(apiurl, headers=apiheaders) 11 print(r.text) 12 sw = r.json() 13 if sw['value'] == 1: 14 print("Switch On") 15 elif sw['value'] == 0: 16 print("Switch Off") 17 time.sleep(2)
Yeelink初步体验相关推荐
- mysql connector api_mysql connector c++ 1.1 API初步体验
mysql connector c++ 1.1 API初步体验 1,常用的头文件 #include #include #include #include #include #include 2,创建连 ...
- 初步体验数据驱动之美---TreeView
1.前言 继上一篇<WPF应用基础篇---TreeView>的发布之后,有部分朋问我关于里面一些基础应用的问题,可能是我写得不够详细,所以在这里,我想再次那文章中的案例来谈谈初步体验数据驱 ...
- Docker Compose 简介、安装、初步体验
[Docker那些事]系列文章 docker 安装 与 卸载 centos Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT ...
- 百度无线音乐盒刷打印服务器,百度 M-100 无线音乐盒 初步体验+简单拆解
百度 M-100 无线音乐盒 初步体验+简单拆解 2014-01-23 13:26:55 18点赞 26收藏 15评论 前段时间京东上面这个盒子做活动,虽然手头蓝牙音箱啥子的也有几个,不过受到这个盒子 ...
- 乐为物联网平台初步体验(1)
作者 彭东林 pengdonglin137@163.com 环境 Qemu: 2.8.0 开发板: vexpress-ca9 概述 前面我们体验了一下Yeelink物联网平台,下面我们再尝试另外一个物 ...
- ShardingSphere UI 初步体验
简介 在上两篇文章中,尝试了ShardingSphere JDBC和Proxy的相关功能,本篇进行探索ShardingSphere的UI组件部分 示例运行 这个应该是一个管理配置之类的东西,国际惯例, ...
- Azure Data Science Virtual Machine Linux的初步体验
背景信息 微软Azure 提供1元免费试用的活动,可以使用$200的积分额度或30天试用期(先到为准).由于之前工作的原因看过很多阿里云和微软Azure的产品文档,但一直没有使用过云计算产品,所以很多 ...
- 三款国产操作系统使用初步体验
最近想选择一个Linux操作系统用来日常办公.之前用过很多Linux版本,大致可以分为CentOS系列.Debian系列,Debian系列如Ubuntu.Lubuntu.Kali Linux,Cent ...
- 中国移动MIFI--CM510,4G TD-LTE MIFI 上网终端开箱及初步体验@上海
上海的,前期在4G官网报名专页登记了http://www.10086.cn/lte/recruit.html 当时由于报名结束了,所以先注册登记了信息. 1.15号中午收到10086的短信邀请,立马报 ...
最新文章
- CCAI 2020 | 黄铁军:“仿真主义”下的人工智能发展之路
- mysql 自动重启 计划_解决MYSQL死机,定时重启MYSQL,wdcp计划任务设定方法,
- SwipeRefreshLayout和RecyclerView滑动冲突的解决
- Terminal(终端)中代理的配置---Linux应用中遇到的问题笔记
- python 计时_Python time clock()方法
- 【Java】常见的异常和Throwable类
- 电脑主板接口_PCI接口借尸还魂?精英发布新款B450电脑主板,配备老式PCI接口...
- linux开机启动详细流程图
- python web开发c6——阿里云上ubuntu+flask+gunicorn+nginx服务器部署(一)简单测试
- H5 js 处理localstorage方法封装
- 条件变量、pthread_cond_init
- shineblink 雨滴感应传感器
- C语言_字符串转数字
- 代表JAVA线程优先级的常量是_Java 线程优先级
- oracle数据库中的回收站,Oracle回收站的清理方法
- 华为OD机试题:按区间反转文章片段
- 有没有发现不会写简历,感觉什么都不会?其实写简历也是一种艺术。
- 了解 Qt 绘图设备QPixmap、QBitmap、QImage和 QPicture
- Linux进阶之路-Ubuntu版
- 一次硬盘问题引起的服务器宕机
热门文章
- nodejs版本更新问题:express不是内部或外部命令
- 关于VS 2008和.NET 3.5 Beta2新特性介绍
- 传输层协议的UDP和TCP
- MySQL工具介绍及环境搭建
- 百度联盟广告代码php,百度联盟原生广告的投放步骤
- 虚拟机服务器被攻击,Linux服务器被攻击用来挖矿了
- php ajax实现上移,jquery实现标签上移、下移、置顶_jquery
- python中和js交互_python和js交互调用的方法
- 学习web前端还是UI?先了解Web前端和UI的区别是什么?在选择
- 锐度越高越好吗_德国瑞好和德国GC地暖哪个好