树莓派 之路(1)重置环境

开妈之前,提醒一定一定要不定期备份整张SD卡,不然出事,真的就是重头再来 。

首先重新下载了新版的树莓派系统
下载网址:http://shumeipai.nxez.com/download#os
版本:http://director.downloads.raspberrypi.org/raspbian/images/raspbian-2018-11-15/2018-11-13-raspbian-stretch.zip

在windows下win32diskImager把 解压的IMG写到U盘与TF卡,

用读卡器修改TF BOOT目录下的CMDLINE.TXT文件

最后加上一句 program_usb_boot_mode=1

用TF启动树莓派,上电启动,不用管,过了60秒,直接关电,

拨掉TF卡,再插上优盘,系统就能从U盘启动了。

第十二章:树莓派centose服务器变身Aria2下载服务器

 

 

转自:https://blog.csdn.net/sonsie007/article/details/18942943/

入手树莓派有一段时间了,这小东西还是很好玩的,这几天研究了一下,把它做成了一个下载服务器~和大家分享一下。
主要用到的程序是Aria2 + Yaaw, Aria2这是一个支持Http、FTP、磁力链接和BT下载的工具, 当然,如果你是迅雷会员,还可以用它来进行离线下载, 这个后面有讲到。由于Aria2是一个没有图形界面的下载工具,因此,Yaaw应运而生,使用Web方法来管理文件下载,这也就意味着,只要配置好路由的端口映射,或使用动态域名,你可以通过Web访问的方式,随时随地的控制你的树莓派来进行下载。下面,就和我一步一步,将树莓派变成一个下载服务器~
一、挂载U盘
我使用了一个16GB, FAT32格式的U盘作用下载盘,将U盘插入到树莓派上,然后在终端下输入如下命令:

sudo mount -o uid=pi,gid=pi /dev/sda1 /home/pi/usb -o nls=utf-8,umask=0

这里已经使USB挂载, 并且使pi用户对其有写入读取权限.
二、安装Aria2

终端下输入:

sudo apt-get install aria2

等待几分钟就安装完成了。

接下来创建aria2的配置文件,我这里装配置文件放在了/etc/aria2目录下
cd /etc
sudo mkdir aria2
cd aria2

#创建空白的aria2s session文件
sudo touch /etc/aria2/aria2.session
#创建配置文件
sudo nano /etc/aria2/aria2.conf

输入内容如下:

#文件保存目录自行修改
#dir=/home/pi/usb

#dir=/media/username/xxxxxccccccvvv/
disable-ipv6=true
#打开rpc的目的是为了给web管理端用
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
#rpc-listen-port=6800
continue=true
input-file=/etc/aria2/aria2.session
save-session=/etc/aria2/aria2.session
max-concurrent-downloads=3
保存退出,用配置文件启动:

sudo aria2c –conf-path=/etc/aria2/aria2.conf

如果没有提示任何错误信息,那就按ctrl+c停止上面的语句,运行此句

sudo aria2c –conf-path=/etc/aria2/aria2.conf -D

这样程序就在后台运行了.
三、安装Apache

Yaaw管理页面是基于Web方式访问的,因此,选用配置起来最简单的Apache服务器。

终端下输入:
sudo apt-get install apache2
等待片刻后,安装完成。

Apache默认的http根目录是在/var/www目录下,这里需要改一下权限。

sudo chmod 777 /var/www/
然后下载yaaw, 地址戳这里:Yaaw下载地址

下载完成后解压,上传到/var/www目录即可

上传成功后,在浏览器输入树莓派的IP就可以访问了。

四、使用迅雷离线下载
首先,在浏览器里添加一个网页收藏

网页名称:ThunderLixianExporter

网址:javascript:void((function(){var d=document;var s=d.createElement(‘script’);s.src=’http://s.binux.me/tle.js’;s.id=’TLE_script’;d.body.appendChild(s)})())

如图所示:

 

然后登录迅雷离线下载页面:

按下图配置, IP地址请自行替换:

保存设置后,在离线下载的链接上,就会出现YAAW的选项,点击后,就能在YAAW的下载页面上看到添加的下载链接了。

五、开机自动启动服务

每次开机都要手动敲命令来启动下载服务器是一件很不舒服的事情,怎么样能让树莓派开机自动挂载U盘,并且启动下载服务器呢,这难不倒我。看我的。

切换到/etc/init.d/目录下

sudo nano aria2
输入如下内容,挂载目录请自行替换:

#! /bin/bash

RETVAL=0

case “$1” in
start)
echo “Starting service Aria2…”
if [ -e /dev/sda1 ]
then
mount -o uid=pi,gid=pi /dev/sda1 /home/pi/usb -o nls=utf-8,umask=0
fi
aria2c –conf-path=/etc/aria2/aria2.conf -D
echo “Start service done.”
;;
stop)
echo “Stoping service Aria2…”
killall aria2c
if [ -e /dev/sda1 ]
then
umount /home/pi/usb/
fi
echo “Stop service done.”
;;
esac

exit $RETVAL
保存退出,在终端下输入

sudo chmod +x /etc/init.d/aria2

sudo chkconfig –add aria2

这样,每次树莓派开机后,会自动挂载U盘,并启动服务,是不是很方便呢~

至此,配置结束,祝大家下载愉快~!

———————

树莓派进阶之路 (013) – 树莓派2/3 C语言使用PWM

由于树莓派只有1,12两个口有pwm,于是使用

softPwmCreate(LED, 0, 100);  //创建软PWM
softPwmWrite(LED, i);

这两个完成了工作

 

文章原来的路径:https://www.cnblogs.com/jikexianfeng/p/6938119.html
====================================
我手里面的是树莓派3,系统是Raspbian官方操作系统,已经安装好了wiringPi。        PWM简介:脉宽调制(PWM)是指用微处理器的数字输出来对模拟电路进行控制,是一种对模拟信号电平进行数字编码的方法。wiringpi有两种方式产生PWM,第一种为树莓派硬件PWM,如果需要精确的PWM控制的话,最好使用硬件PWM。第二种为wiringpi软件模拟的pwm,我们一种一种的介绍。
首先是电路连接,准备做一个LED呼吸灯程序。所以电路很简单,一个LED,一个100Ω的电阻。电阻串联在LED正极,然后连接到树莓派12号引脚。LED负极接地。
一、硬件PWM。
硬件PWM IO口为物理的12号端口(当然,这个也作为软件PWM使用)。如下图所示:

1、使用C语言编写硬件PWM程序
pi@Raspi:~ $ sudo nano hardware_pwd.c

2、写入以下程序

复制代码
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <stdint.h>
 4 #include <wiringPi.h>
 5 
 6 #define LED 1
 7 
 8 int main(void)
 9 {
10     int bright;
11     printf("Raspberry Pi wiringPi PWM test program\n");
12     if (wiringPiSetup() == -1)
13     {
14         printf("GPIO setup error!\n");
15         exit(1);
16     }
17     pinMode(LED,PWM_OUTPUT);
18     while(1)
19     {
20     for (bright = 0; bright < 1024; ++bright)
21         {
22             pwmWrite(LED,bright);
23             delay(12);
24         }
25     for (bright = 1023; bright >= 0; --bright)
26         {
27             pwmWrite(LED,bright);
28             delay(12);
29         }
30     }
31     return 0;
32 }
复制代码

3、编译

pi@Raspi:~ $ gcc -o hardware_pwd hardware_pwd.c -lwiringPi

4、运行

pi@Raspi:~ $ sudo ./hardware_pwd

现在应该可以看到你的LED有呼吸灯效果了。

复制代码
 1 /*
 2  ============================================================================
 3  Name        : software_pwm.c
 4  Author      : Cheetah
 5  Version     :
 6  Copyright   : Geeiot
 7  Description : PWM in C, Ansi-style
 8  ============================================================================
 9  */
10 
11 #include <stdio.h>
12 #include <stdlib.h>
13 #include <stdint.h>
14 #include <wiringPi.h>
15 #include <softPwm.h>
16 
17 #define LED 1   //同样使用1号IO口
18 
19 int main(void) 
20 {
21     int i = 0;
22     if (wiringPiSetup() == -1)  //初始化wiringpi
23     {
24         printf("Setup GPIO error!\n");
25         return -1;
26     }
27     softPwmCreate(LED, 0, 100);  //创建软PWM
28     while (1) 
29     {
30         for (i = 0; i < 100; i++) 
31         {
32             softPwmWrite(LED, i);
33             delay(10);
34         }
35         for (i = 99; i > 0; i--) 
36         {
37             softPwmWrite(LED, i);
38             delay(10);
39         }
40     }
41     return 0;
42 }
复制代码

二、软件模拟PWM
wiringPi 中包含了一个软件驱劢的 PWM 处理库,可以在任意的树莓派 GPIO 上输出PWM 信号。但是软件模拟的PWM有一些限制。因为PWM的频率越高,所需要的CPU资源越多,所以在这之间有一些平衡。
步骤同上,我这里就直接贴出代码了。特别注意编译的时候会多一个-lpthread选项。

编译

pi@Raspi:~ $ gcc -o software_pwm software_pwm.c -lwiringPi -lpthread

运行之后会有同样的效果!

特别注意:必须使用 wiringPiSetup()、 wiringPiSetupGpio()或者 wiringPiSetupPhys()函数来初始化 wiringPi。wiringPiSetupSys()是丌够快的,因此,必须使用 sudo 命令来运行程序。
附上wiringpi用户手册的下载:https://www.geeiot.net/forum.php … 1121&extra=page%3D1

写一个查询有关 用户图片的功能

写一个查询有关
用户图片的功能

最近“”的图片到处是,

这里想到做一个查询,让用户输入自己的姓名,通过调用记录的表或者百度查询,找下这个名字,是否已经被放出来,好可怜的人,如果真是涉漏了自己的图片,一定向借贷宝投诉,维权。

首先,建产一个数据表,
create table cor_jtb_pic
(
ID INT,
USERID INT,
USERNAME VARCHAR(50),
PICNAME VARCHAR(255),
PICATTR VARCHAR(255)
)

二、往表里面插入已经知道的数据

INSERT INTO cor_jtb_pic(ID,USERID,USERNAME,PICNAME,PICATTR)
SELECT 1,1,’张三’,’1.jpg’,’100k’

INSERT INTO cor_jtb_pic(ID,USERID,USERNAME,PICNAME,PICATTR)
SELECT 2,1,’张三’,’2.jpg’,’300k’

INSERT INTO cor_jtb_pic(ID,USERID,USERNAME,PICNAME,PICATTR)
SELECT 3,2,’李四’,’1.jpg’,’500k’

INSERT INTO cor_jtb_pic(ID,USERID,USERNAME,PICNAME,PICATTR)
SELECT 4,2,’李四’,’2.jpg’,’600k’

三、建立一个查询的功能

物联网开发:云台

关键 字:micropython,  upycraft, windows,

前提,本次尝试使用 pyboard v102开发 硬件,使用环境 windows +upycraft3.0

一、接钱:
#驼机  红色线 3.3V  — pyboard 3.3v

#驼机 灰色线  GND — pyboard GND

#驼机 橙色 数据位  — PYBOARD X3

技术代码如下:

from pyb import servo #导入引用
servo3=pyb.Servo(3)#指定使用X3端口

servo3.angle(-75,500) #向右75旋转

servo3.angle(75,500)#向左转75度

servo3.angle(0,500) #转到0度

ubuntu 更新加入ESP8266开发环境

最近在弄这个WiFi模块,发现网上SDK开发方面的资料很少,发现了一套视频教程,不过主讲人的讲课方式实在受不了。对基于SDK开发感兴趣的同学可以通过本帖在Ubuntu系统上通过Eclipes搭建开发环境。

过程可以分为两步:
1、下载、编译SDK
2、配置Eclipes

一、下载、编译SDK

esp8266的sdk有两种,分别是ESP8266_RTOS_SDK和ESP8266_NONOS_SDK,这两者的区别在于RTOS_SDK有一个叫做RTOS的操作系统,采用了NONOS_SDK部分接口,不支持AT指令。
详见:Q: What is the difference between RTOS and the non-OS SDK?

这里我们使用NONOS_SDK,下载地址:esp-open-sdk

里边集成了NONOS_SDK的编译器和烧录工具等,也可用此编译器编译ESP_RTOS_SDK中的项目。

我们直接在命令行进行操作:

1
2
3
4
5
6
7
8
9
10
11
12
#安装一些依赖工具
$ sudo apt-get install make unrar-free autoconf automake libtool gcc g++ gperf \
    flex bison texinfo gawk ncurses-dev libexpat-dev python-dev python python-serial \
    sed git unzip bash help2man wget bzip2
#如果ubuntu版本高于14.04可能还需要此工具
$ sudo apt-get install libtool-bin
#使用git克隆项目到本地,这里假设项目克隆到了/home/mmmmar/esp-open-sdk
$ git clone --recursive https://github.com/pfalcon/esp-open-sdk.git
#进入项目文件夹
$ cd /home/mmmmar/esp-open-sdk
#编译
$ make STANDALONE=y

注意:在SDK的编译过程中需要联网下载一些依赖库并编译,而且下载过程很容易失败,我在下载时挂代理才成功的。
如果编译失败可以查看esp-open-sdk/crosstool-NG/build.log 查看崩溃信息,一般都是下载失败。

编译成功后会在esp-open-sdk文件夹出现xtensa-lx106-elf  esptool  ESP8266_NONOS_SDK三个文件夹,分别是编译器,烧录工具,NONOS_SDK最新版。
这时需要把编译器路径加入到系统路径中,执行:

1
2
#此命令只作用于当前控制台
export PATH=/home/mmmmar/esp-open-sdk/xtensa-lx106-elf/bin:$PATH

这时就可以编译esp-open-sdk/ESP8266_NONOS_SDK/examples中的示例工程了。
需要注意,要把ESP8266_NONOS_SDK文件夹复制到esp-open-sdk文件夹的外部,假如我们要编译examples文件夹中的at项目,我们需要把at文件夹复制到ESP8266_NONOS_SDK目录下,不然编译会失败。
复制完之后路径如下:

1
2
3
4
5
/home/mmmmar
├── ESP8266_NONOS_SDK
│   ├── at
│   ├── examples
└── esp-open-sdk

复制完之后就可以编译at(我们最初用的AT指令就是这个项目,不过我们只能添加新的AT命令)项目了。
执行at文件夹下的gen_misc.sh,这里需要输入一些参数。
对于那些参数我也不是特别清楚,我的esp-01(黑色)选择的是:
boot version      = none
spi size and map =   1024KB( 512KB+ 512KB)

其余默认。黑色的版的esp-01有1MB的存储空间,而蓝色版只有512KB,不能使用最新版的AT固件。

爬取odds.500.com中杯赛历史赔率功能的使用

爬取odds.500.com中杯赛历史赔率功能的使用
这个功能是为朋友开发的,
举例要取的是
http://liansai.500.com/zuqiu-3456/jifen-9633/ 这一轮的数据
记下这个网址
首先进入
http://www.inhhh.com/odds601.php
记得右键语言编码用简体。
网址就填入 http://liansai.500.com/zuqiu-3456/jifen-9633/
公司就代表公司编号,这个必须用逗号分隔,例如1,2,3,
公司代码表如下:
2016062806
3点击提交,就看到结果了。
完成。

数据抓取工作 ODDS.500.COM 新版网页版程序演示

数据抓取工作 ODDS.500.COM 新版网页版程序演示

举例你想取日职联赛的数据,看到网址是http://liansai.500.com/zuqiu-3748/
这时你只需要记下 3748这个编号,就可以了

2016062901

 

之后再浏览器只需要输入网址即可,例如, http://www.inhhh.com/odds502.php?c=match&a=getmatch&sid=3748&roun=12,13&cid=1,2
解释下:3748就是你刚才记下的数字,需要下哪场就改哪个数据
12,13  这个数字代表第12至第13轮的范围,当然如果填1,13也是可以的
1,2 代表公司编号,这个必须用逗号分隔,不能用范围表示,例如1,2,3,

公司代码表如下:

2016062806

最后出来结果如下:

2016062902

 

 

数据抓取工作 ODDS.500.COM 程序演示

首先,程序列表中有下列文件
1. 爬虫odds.500.com.exe
2.setting.txt
3.所有公司.txt
4. mfc100.dll

第一步打开《setting.txt》, 第一行是要查询的网址(需要是修改),第二行是固定的跳板(不能修改)第三行是下载的数据存放的文件(可以修改)
后面的是各个公司的名称,这些数据可以从《所有公司.txt》中获取

2016062805
2016062806

第二步,打开程序,在右下角的图标或者右上角的透明图标上可以右键,测水一次。完成会有提示。

2016062803

2016062804

最后自动在生成d:\my.csv数据。

2016062807

。完。