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:
#!/bin/bash export CC=arm-none-linux-gnueabi-gcc ../zlib-1.2./configure \
--prefix=`pwd`
修改Makefile,修改AR和RANLIB如下:
AR=arm-none-linux-gnueabi-ar
RANLIB=arm-none-linux-gnueabi-ranlib
- 编译Python3:
#!/bin/bash ../Python-3.6./configure \
--host=arm-none-linux-gnueabi \
--build=armv7 \
--prefix=`pwd` \
--enable-ipv6 \
--enable-shared \
ac_cv_file__dev_ptmx="yes" \
ac_cv_file__dev_ptc="no" \
LDFLAGS="-L/home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/lib \
-L/home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/lib \
-L/home/pengdonglin/disk_ext/Third_Part/Termcap/aarch32/lib \
-L/home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/lib"\
CPPFLAGS="-I/home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/include \
-I/home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/include \
-I/home/pengdonglin/disk_ext/Third_Part/Termcap/aarch32/include \
-I/home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/include"\
LDLAST="-L/home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/lib \
-L/home/pengdonglin/disk_ext/Third_Part/Termcap/aarch32/lib \
-L/home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/lib" make -j4
make install
安装完成后,也可以直接将lib/python3.6/lib-dynload/zlib.cpython-36m-arm-linux-gnueabi.so拷贝到板子上面的/usr/lib/python3.6/lib-dynload/下面即可, 而不必全部更新
- 编译Python2:
#!/bin/bash ../Python-2.7./configure --prefix=`pwd` \
--host=arm-none-linux-gnueabi \
--build=x86_64-linux-gnu \
--enable-ipv6 \
--enable-shared \
ac_cv_file__dev_ptmx="yes" \
ac_cv_file__dev_ptc="no" \
LDFLAGS="-L/home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/lib \
-L/home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/lib \
-L/home/pengdonglin/disk_ext/Third_Part/Termcap/aarch32/lib \
-L/home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/lib"\
CPPFLAGS="-I/home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/include \
-I/home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/include \
-I/home/pengdonglin/disk_ext/Third_Part/Termcap/aarch32/include \
-I/home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/include"\
LDLAST="-L/home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/lib \
-L/home/pengdonglin/disk_ext/Third_Part/Termcap/aarch32/lib \
-L/home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/lib"\
#!/bin/bash make HOSTPYTHON=../x86_64/python \
HOSTPGEN=../x86_64/Parser/pgen \
BLDSHARED="arm-none-linux-gnueabi-gcc -shared" \
CROSS_COMPILE=arm-none-linux-gnueabi- \
CROSS_COMPILE_TARGET=yes \
HOSTARCH=arm-none-linux-gnueabi \
BUILDARCH=x86_64-linux-gnu \
-j4
#!/bin/bash make install HOSTPYTHON=../x86_64/python \
BLDSHARED="arm-none-linux-gnueabi-gcc -shared" \
CROSS_COMPILE=arm-none-linux-gnueabi- \
CROSS_COMPILE_TARGET=yes \
prefix=`pwd`
安装完成后,也可以直接将lib/python2.7/lib-dynload/zlib.so拷贝到开发板的/usr/lib/python2.7/lib-dynload/下面,而不用全部更新
- 然后修改mk_ramdisk.sh:
#!/bin/bash thiry_part=/home/pengdonglin/disk_ext/Third_Part/
cross_compile=/home/pengdonglin/disk_ext/Cross_Compiler/aarch32/ sudo rm -rf rootfs
sudo rm -rf tmpfs
sudo rm -rf ramdisk*
sudo losetup -d /dev/loop0
sudo losetup /dev/loop0 ./fs_vexpress_1G.img
sudo partprobe /dev/loop0 sudo mkdir rootfs
sudo cp ${thiry_part}/Busybox/aarch32/_install/* rootfs/ -raf sudo mkdir -p rootfs/proc/
sudo mkdir -p rootfs/sys/
sudo mkdir -p rootfs/tmp/
sudo mkdir -p rootfs/root/
sudo mkdir -p rootfs/var/
sudo mkdir -p rootfs/mnt/ sudo cp etc rootfs/ -arf sudo cp -arf ${cross_compile}/arm-2014.05/arm-none-linux-gnueabi/libc/lib rootfs/ #Python3
sudo mkdir -p rootfs/usr
pushd rootfs/usr
sudo cp -raf /home/pengdonglin/disk_ext/Python/Python3/aarch32/bin .
sudo cp -raf /home/pengdonglin/disk_ext/Python/Python3/aarch32/lib .
sudo cp -raf /home/pengdonglin/disk_ext/Python/Python3/aarch32/include .
sudo cp -raf /home/pengdonglin/disk_ext/Python/Python3/aarch32/share . #Python2
sudo cp -raf /home/pengdonglin/disk_ext/Python/Python2/aarch32/bin .
sudo cp -raf /home/pengdonglin/disk_ext/Python/Python2/aarch32/lib .
sudo cp -raf /home/pengdonglin/disk_ext/Python/Python2/aarch32/include .
sudo cp -raf /home/pengdonglin/disk_ext/Python/Python2/aarch32/share .
popd #SQlite3
sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/bin/* rootfs/bin/
sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/include/* rootfs/include/
sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/lib/* rootfs/lib/
sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/SQlite3/aarch32/share/* rootfs/usr/share #Readline
sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/include/ rootfs/include/
sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/Readline/aarch32/lib/* rootfs/lib/ #Zlib
sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/include/* rootfs/include/
sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/Zlib/aarch32/lib/* rootfs/lib/ #BeautifulSoup4
sudo cp -raf /home/pengdonglin/disk_ext/Python/BeautifulSoup4/beautifulsoup4-4.5.3/bs4 rootfs/usr/lib/python2.7/site-packages
sudo cp -raf /home/pengdonglin/disk_ext/Python/BeautifulSoup4/beautifulsoup4-4.5.3/py3k/bs4 rootfs/usr/lib/python3.6/site-packages #Requests
sudo cp -raf /home/pengdonglin/disk_ext/Python/Requests/requests-2.3.0/requests rootfs/usr/lib/python2.7/site-packages
sudo cp -raf /home/pengdonglin/disk_ext/Python/Requests/requests-2.3.0/requests rootfs/usr/lib/python3.6/site-packages #Boa
sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/WebServer/Boa/boa-0.94.13/src/boa rootfs/bin
sudo mkdir -p rootfs/usr/lib/boa
sudo cp -raf /home/pengdonglin/disk_ext/Third_Part/WebServer/Boa/boa-0.94.13/src/boa_indexer rootfs/usr/lib/boa
sudo mkdir -p rootfs/var/www/cgi-bin
sudo mkdir -p rootfs/var/log/boa sudo rm -rf rootfs/lib/*.a
sudo arm-none-linux-gnueabi-strip rootfs/lib/* rootfs/bin/*
sudo arm-none-linux-gnueabi-strip rootfs/usr/lib/boa/*
sudo arm-none-linux-gnueabi-strip rootfs/usr/lib/*
sudo arm-none-linux-gnueabi-strip rootfs/usr/bin/*
sudo arm-none-linux-gnueabi-strip rootfs/bin/* sudo mkdir -p rootfs/dev/
sudo mknod rootfs/dev/tty1 c 4 1
sudo mknod rootfs/dev/tty2 c 4 2
sudo mknod rootfs/dev/tty3 c 4 3
sudo mknod rootfs/dev/tty4 c 4 4
sudo mknod rootfs/dev/console c 5 1
sudo mknod rootfs/dev/null c 1 3 sudo mkdir ./tmpfs/
sudo mount -t ext4 /dev/loop0p1 ./tmpfs/
sudo rm -rf ./tmpfs/*
sudo cp -raf rootfs/* ./tmpfs/ sleep 2
sudo umount ./tmpfs/ sudo losetup -d /dev/loop0
3、测试
[root@vexpress ]# python3
Python 3.6. (default, May , ::)
[GCC 4.8. (prerelease)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>>
[root@vexpress ]# python2
Python 2.7. (default, May , ::)
[GCC 4.8. (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>>
#!/usr/bin/env python2 import requests
import time apiurl = "http://api.yeelink.net/v1.0/device/7445/sensor/405914/datapoints"
apiheaders = {'U-ApiKey':'3957bd54eaddd2fda1f35841d52776d9'} while True:
r = requests.get(apiurl, headers=apiheaders)
print(r.text)
sw = r.json()
if sw['value'] == 1:
print("Switch On")
elif sw['value'] == 0:
print("Switch Off")
time.sleep(2)
#!/usr/bin/env python3 import requests
import time apiurl = "http://api.yeelink.net/v1.0/device/7445/sensor/405914/datapoints"
apiheaders = {'U-ApiKey':'3957bd54eaddd2fda1f35841d52776d9'} while True:
r = requests.get(apiurl, headers=apiheaders)
print(r.text)
sw = r.json()
if sw['value'] == 1:
print("Switch On")
elif sw['value'] == 0:
print("Switch Off")
time.sleep(2)

Yeelink初步体验的更多相关文章
- MongoDB3.6之Replica Set初步体验
Replica Set在国内叫做副本集,简单来说就是一份数据在多个地方存储. 1.为什么要用副本集,什么时候使用副本集? 有人说一份数据在多个地方存储占用了大量的额外空间,是一种浪 ...
- mysql connector c++ 1.1 API初步体验
mysql connector c++ 1.1 API初步体验 1,常用的头文件 #include <mysql_connection.h> #include <mysql_driv ...
- 移动端之Android开发的几种方式的初步体验
目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得: 开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能 MUI Win+ ...
- express 框架初步体验
一. 安装express 1.打开cmd 全局安装express 输入:npm install -gd express 2. 安装命令行工具,不然你输入express 会出现 不是内部命令. 输入: ...
- 2014年新一代的报表利器 Qlik Sense Desktop 初步体验
点击进入 QlikView/QlikSense 社区 交流群:432998033 Qlik Sense Desktop 的案例展示 先上几个刚刚边看边学完成的几个报表案例效果 (如果图片显示不正常, ...
- 中国移动MIFI--CM510,4G TD-LTE MIFI 上网终端开箱及初步体验@上海
上海的,前期在4G官网报名专页登记了http://www.10086.cn/lte/recruit.html 当时由于报名结束了,所以先注册登记了信息. 1.15号中午收到10086的短信邀请,立马报 ...
- 初步体验libsvm用法1(官方自带工具)
在机器学习和模式识别领域,svm理论使用得很广泛,其理论基础是统计学习,但是如果我们的研究方向不是svm理论,我们只是利用已有的svm工具来对我们的任务进行分类和回归,那么libsvm是一个不错的选择 ...
- 初步体验javascript try catch机制
javascript在ECMAScript3中引入了try catch finally机制,大致原理和其他语言一样. 我们也可以自定义错误事件. 但是事先声明:我们自定义的错误事件,只支持对name. ...
- 【Struts2】新建一个Struts2工程,初步体验MVC
实现目标 地址栏输入http://localhost:88/Struts2HelloWorld/helloworld.jsp 输入用户名,交由http://localhost:88/Struts2He ...
随机推荐
- MyEclipse下打开ftl文件
转:http://blog.csdn.net/w410589502/article/details/51669028 1.Freemarker模板的文件后缀名 2.Freemarker其实是一种比 ...
- Asp.Net MVC4中的全局过滤器,
可以对整个项目进行全局监控. 新建一个MVC4项目,可以在global.asax文件中看到如下代码: FilterConfig.RegisterGlobalFilters(GlobalFilters ...
- Button颜色选择器进阶
drawable/button_color.xml <?xml version="1.0" encoding="utf-8"?> <selec ...
- RMQ问题(线段树算法,ST算法优化)
RMQ (Range Minimum/Maximum Query)问题是指: 对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在[i,j]里的最小(大)值 ...
- 免费SSL证书PK付费SSL证书 花落谁家
3月17日和18日,Google Chrome 57.0.2987.110与Mozilla Firefox 52.0.1分别上线,而这两款浏览器都出现了一个共同点:打压HTTP协议.在Firefox ...
- 网页html结构搭建方法总结
在div+css布局中,一般都这样来整体构架的: <div id="header"></div><div id="center"& ...
- Nginx编译参数
configure arguments: --with-cc-opt='-g -O2 -fPIE -fstack-protector //设置额外的参数将被添加到CFLAGS变量.(FreeBSD或者 ...
- c++内存优化:二级间接索引模式内存池
/********************************************************* 在一些不确定内存总占用量的情形下,频繁的使用new申请内存,再通过链表 进行索引似 ...
- 老李分享:Eclipse中开发性能测试loadrunner脚本
老李分享:Eclipse中开发性能测试loadrunner脚本 前篇我分享了如何用loadrunner搭建javauser的性能测试脚本环境,本次我来告诉大家如何在eclipse开发loadrunne ...
- 04 Feasibility of Learning
机器学习是设计算法A,在假设集合H里,根据给定数据集D,选出与实际模式f最为相近的假设g(g可能与f相同,也可能不同). 那什么情况下学习是可行的?即保证g和f是相似的. 1.数据集内的表现g约等于f ...