科技爱好者博客 http://blog.lxx1.com 科技改变世界 Fri, 30 Dec 2016 02:56:09 +0000 zh-CN hourly 1 https://wordpress.org/?v=4.7.1 我的科学上网方式分享——使用搬瓦工服务器科学上网 http://blog.lxx1.com/2253?pk_campaign=feed&pk_kwd=%25e6%2588%2591%25e7%259a%2584%25e7%25a7%2591%25e5%25ad%25a6%25e4%25b8%258a%25e7%25bd%2591%25e6%2596%25b9%25e5%25bc%258f%25e5%2588%2586%25e4%25ba%25ab-%25e4%25bd%25bf%25e7%2594%25a8%25e6%2590%25ac%25e7%2593%25a6%25e5%25b7%25a5%25e6%259c%258d%25e5%258a%25a1%25e5%2599%25a8%25e7%25a7%2591%25e5%25ad%25a6 http://blog.lxx1.com/2253?pk_campaign=feed&pk_kwd=%25e6%2588%2591%25e7%259a%2584%25e7%25a7%2591%25e5%25ad%25a6%25e4%25b8%258a%25e7%25bd%2591%25e6%2596%25b9%25e5%25bc%258f%25e5%2588%2586%25e4%25ba%25ab-%25e4%25bd%25bf%25e7%2594%25a8%25e6%2590%25ac%25e7%2593%25a6%25e5%25b7%25a5%25e6%259c%258d%25e5%258a%25a1%25e5%2599%25a8%25e7%25a7%2591%25e5%25ad%25a6#comments Sun, 18 Dec 2016 03:58:36 +0000 http://blog.lxx1.com/?p=2253 我的科学上网方式分享——使用搬瓦工服务器科学上网,首发于科技爱好者博客

由于众所周知的原因,许多网站打不开,这给我们的学习带来了很大的不便。经过很长时间的探索,已经解决了手机和电脑科 […]

我的科学上网方式分享——使用搬瓦工服务器科学上网,首发于科技爱好者博客

]]>
我的科学上网方式分享——使用搬瓦工服务器科学上网,首发于科技爱好者博客

由于众所周知的原因,许多网站打不开,这给我们的学习带来了很大的不便。经过很长时间的探索,已经解决了手机和电脑科学上网的问题,不管使用电脑还是手机,都能够非常方便的科学上网,所以这篇文章给大家分享一下我的方案。

一、购买搬瓦工服务器

我们需要一台可以上所有网站的服务器,当然,必须购买在国外的服务器。而且需要根据自己的需求购买,加入你只想用来做中转进行科学上网,那么你只需要购买小内存的服务器就可以解决。在国外的服务器中,我推荐的是搬瓦工,理由就是便宜、速度快,更重要的是,在搬瓦工的管理面板中就有科学上网的选项,只需要很少的几步,就能够快速的实现X 墙,非常适合我们。

点击购买搬瓦工VPS:搬瓦工

选择需要的VPS,注册帐号然后用paypal付款就行,没有的话根据提示注册。

二、电脑设置

完成搬瓦工服务器设置后,就会得到科学上网服务器的IP地址、用户名、密码,下载Shadow socks客户端登录。这样电脑就可以科学上网啦!

google首页

三、手机设置

手机端通过安装 影梭 APP,导入ss 配置文件,输入帐号和密码就可以登录。登录后可以全局开启科学上网模式,手机浏览器和各种需要X墙的客户端都可以连接了!

参考文章:

1、 https://segmentfault.com/a/1190000004099740

2、 搬瓦工VPS完成续费,又可以科学上网了 http://blog.lxx1.com/1802


我的科学上网方式分享——使用搬瓦工服务器科学上网,首发于科技爱好者博客

]]>
http://blog.lxx1.com/2253?pk_campaign=feed&pk_kwd=%25e6%2588%2591%25e7%259a%2584%25e7%25a7%2591%25e5%25ad%25a6%25e4%25b8%258a%25e7%25bd%2591%25e6%2596%25b9%25e5%25bc%258f%25e5%2588%2586%25e4%25ba%25ab-%25e4%25bd%25bf%25e7%2594%25a8%25e6%2590%25ac%25e7%2593%25a6%25e5%25b7%25a5%25e6%259c%258d%25e5%258a%25a1%25e5%2599%25a8%25e7%25a7%2591%25e5%25ad%25a6/feed 2
如何高效使用Kindle,这里有几点Kindle使用技巧 http://blog.lxx1.com/2223?pk_campaign=feed&pk_kwd=%25e5%25a6%2582%25e4%25bd%2595%25e9%25ab%2598%25e6%2595%2588%25e4%25bd%25bf%25e7%2594%25a8kindle%25ef%25bc%258c%25e8%25bf%2599%25e9%2587%258c%25e6%259c%2589%25e5%2587%25a0%25e7%2582%25b9kindle%25e4%25bd%25bf%25e7%2594%25a8%25e6%258a%2580%25e5%25b7%25a7 http://blog.lxx1.com/2223?pk_campaign=feed&pk_kwd=%25e5%25a6%2582%25e4%25bd%2595%25e9%25ab%2598%25e6%2595%2588%25e4%25bd%25bf%25e7%2594%25a8kindle%25ef%25bc%258c%25e8%25bf%2599%25e9%2587%258c%25e6%259c%2589%25e5%2587%25a0%25e7%2582%25b9kindle%25e4%25bd%25bf%25e7%2594%25a8%25e6%258a%2580%25e5%25b7%25a7#respond Sat, 10 Dec 2016 05:51:38 +0000 http://blog.lxx1.com/?p=2223 如何高效使用Kindle,这里有几点Kindle使用技巧,首发于科技爱好者博客

你只有亲自使用Kindle,才会感受到它的方便。 最近在学校空闲时间较多,上课有时候不想听课,这时候就想看会书 […]

如何高效使用Kindle,这里有几点Kindle使用技巧,首发于科技爱好者博客

]]>
如何高效使用Kindle,这里有几点Kindle使用技巧,首发于科技爱好者博客

你只有亲自使用Kindle,才会感受到它的方便。

最近在学校空闲时间较多,上课有时候不想听课,这时候就想看会书,我看了几本实体书后就感受到了极大的不方便,一是价格贵,同样的书,实体书需要四十或者五十人民币,而电子书仅需要五元左右即可买到,价格相差悬殊;二是实体书不方便,走到哪都需要带着厚厚的书,如果遇到书比较沉,那就惨了,携带、存放都非常不方便;三是实体书无法方便的标注,看到比较经典的语句,可以摘抄或者划下来,但是这样不方便下次寻找。

由于这些理由,我就入手了一部 Kindle ,由于资金紧张并且晚上较少看书,所以就购买了558的 Kindle 入门版,经过一段时间的体验,感受非常深刻,所以在这里说下 Kindle 的使用体验,也给出一些更加高效实用 Kindle 的技巧,帮助大家更好的利用手里的 Kindle 。

一、 Kindle 购买及开箱

如果你已经下定决心购买 Kindle ,那么恭喜你,迈出了第一步。选购的话一般选择亚马逊,目前 Kindle 由四个版本可供选择,大多数人会选择购买958 的 Kindle Paperwhite,据说这个版本是最具有性价比的,这个版本像素高,而且带有背光。如果资金紧缺可以选择558的 Kindle  入门版,如果你是土豪不差钱,那么 Kindle  Oasis 等着你。具体选购大家可以根据自己的需要进行选择。各个版本的对照图如下图。

 Kindle 版本对照

Kindle 版本对照

购买下单很快就能收到了。 Kindle 的包装比较简洁,盒子中由一部  Kindle  ,一条数据线,保修卡以及快速入门,但是没有充电的电源转换器。在激活时需要登录自己的亚马逊账号,经过简单的设置就可以进入界面了。

img_20161128_130247

img_20161128_130233

 

kindle 主界面

kindle 主界面

 

 

用 kindle 阅读还有一个好处是不伤眼睛,媲美纸书的体验,同时可以调节字体的大小,双指滑动就可以放大或者缩小字体。以下是各种大小字体的对比。

字体大小对比

字体大小对比

 

二、图书推送

可以通过以下几种方法将图书及文章推送到 Kindle 中,下面依次介绍。

一、亚马逊购买

亚马逊官网上购买图书,购买图书后只需要将 Kindle 连接WIFI,购买的图书奖会自动出现在 Kindle 上,这种方式是最常用的。

二、邮箱推动

在将 Kindle 激活后,登录亚马逊的网站,点击“管理我的内容和设备”,就可以找到自己的推送邮箱,例如xx@kindle.cn这样的格式,在个人文档设置中添加要推送邮箱的账户,即添加信任邮箱,这样通过信任邮箱发送的内容才会出现在 Kindle 上。

设置完毕后,使用信任邮箱发送电子书籍或者TXT文件,稍等片刻, 推动的书籍或者文章等等就会出现在 Kindle 上。

三、推送微信文章

微信上关注“亚马逊Kindle服务号”,即可将喜欢的文章发送到 Kindle 上进行阅读。

当然,也可以将网页用微信打开,然后推送到 Kindle 上进行阅读。例如我把博客文章推送到 Kindle 中进行阅读。

screenshot_2016_12_10t10_35_240800

四、通过电脑拷贝

也可以将电脑上的书籍通过USB拷贝到上,链接 Kindle ,将书籍拷贝到document文件夹下即可。

三、 Kindle 使用小技巧

1、截屏

打开 Kindle 后,同时按左下角和右下角或者右上角和左下角,就可以完成截屏操作。完成后将 Kindle 链接电脑,在根目录下就可以找到刚刚截图的图片了。

2、 Kindle 书摘

在 Kindle 中阅读电子书籍时,按住即可将选定的文字高亮,高亮的文字可以在 Kindle 的我的剪贴”中找到,可以将书摘导出,方便以后的学习、消化。

可以通过 clippings.io 来整理 Kindle 书摘,通过点击导入按钮将您 Kindle 设备上的 myclippings.txt 文件导入您的剪报,或者直接从亚马逊网站导入。 注册一个账户并且登录,然后在document目录下找到My Clippings文件,在线导入到clippings.io里,就可以按照书目来整理书摘。

整理 Kindle 书摘

整理 Kindle 书摘

最后说一句,在没有购买之前,我用过同学的 Kindle ,觉得闪屏特别难受,这是我一直没有购买的原因,但是后来购买之后发现,闪屏的影响很小,几乎感觉不出来,这是最大的感受。

祝大家使用愉快~


如何高效使用Kindle,这里有几点Kindle使用技巧,首发于科技爱好者博客

]]>
http://blog.lxx1.com/2223?pk_campaign=feed&pk_kwd=%25e5%25a6%2582%25e4%25bd%2595%25e9%25ab%2598%25e6%2595%2588%25e4%25bd%25bf%25e7%2594%25a8kindle%25ef%25bc%258c%25e8%25bf%2599%25e9%2587%258c%25e6%259c%2589%25e5%2587%25a0%25e7%2582%25b9kindle%25e4%25bd%25bf%25e7%2594%25a8%25e6%258a%2580%25e5%25b7%25a7/feed 0
阔步前进——科技爱好者博客两周年纪念 http://blog.lxx1.com/2192?pk_campaign=feed&pk_kwd=two-years http://blog.lxx1.com/2192?pk_campaign=feed&pk_kwd=two-years#respond Tue, 15 Nov 2016 16:15:44 +0000 http://blog.lxx1.com/?p=2192 阔步前进——科技爱好者博客两周年纪念,首发于科技爱好者博客

今天2016年11月16日,是科技爱好者博客的2周年纪念日。科技爱好者博客于2014年11月16日开博,最初开 […]

阔步前进——科技爱好者博客两周年纪念,首发于科技爱好者博客

]]>
阔步前进——科技爱好者博客两周年纪念,首发于科技爱好者博客

今天2016年11月16日,是科技爱好者博客的2周年纪念日。科技爱好者博客于2014年11月16日开博,最初开这个博客的目的是为了记录自己在折腾网站、服务器、嵌入式等等方面遇到的问题和解决办法,在2年的时间里,这个初心一直没有改变。我很开心博客能够坚持到现在,中间遇到过很多的困难,也暂停过更新,但是仍然坚持了下来。通过坚持写博客,能够将问题的解决办法通过简洁的语言描述出来,也通过博客认识了许多和我一样喜欢学习科技知识的朋友,博客到今天访问量正在稳步增长,访问量已经达到91,588 ,这说明自己付出的努力得到了回报,2年来的坚持是对了。

现在的科技爱好者博客,虽然文章数量只有不多的180篇,但服务器是我自己购买的,网站是我一步一步搭建的,博客也是一点一滴优化的,文章是我花费了大量时间一篇一篇写成的,没有经历过就不知道其中的艰辛。可以说,博客是我青春的见证,我将自己的时间和精力倾注到博客上,是博客伴着我成长。如果可能的话,这个博客我将一直保留下去,因为这是我的青春啊!

我想大声说一句:科技爱好者博客,2周年快乐!

以下是科技爱好者博客2年的访问分析。

一、访问概览

45,414 次访问

2 分 5 秒 平均停留时间

68% 的跳出率 (查看一个页面后就离开)

0.83秒 平均生成时间

478 单次访问的最大活动量

91,588 次浏览, 63,936 次唯一浏览

6,933 次站内搜索, 238 个关键词

10,077 次下载, 2,885 次唯一下载

9,451 次离站链接, 4,886 个唯一离站链接

 

二、访客趋势

从访客趋势图可以看出,从3月份以来,博客的访客数和访问次数都在稳步增加。

访客趋势图(科技爱好者博客2周年)

访客趋势图(科技爱好者博客2周年)

 

三、浏览器统计

接下来看看这么多访客都使用什么浏览器访问科技爱好者博客,从统计来看,使用的浏览器名称、百分比、访问次数排名依次如下:

Chrome           49.9%           22,674


Firefox               10.8%           4,902


Mobile Safari             7%           3,182


UC Browser             5.8%           2,646


Chrome Mobile             5%           2,251

访客浏览器(科技爱好者博客2周年)

访客浏览器(科技爱好者博客2周年)

可以看到,访问科技爱好者博客的访客使用浏览器最多的是Chrome  ,几乎占到了50%,其次是Firefox,占到了10%。看来访客们特别钟情使用Chrome浏览器啊。

 

四、访客位置分析

访客位置(科技爱好者博客2周年)

访客位置(科技爱好者博客2周年)

由于统计系统的不完善,获得的数据较少,只有在比较短的时间段内的访客位置信息,但仍然具有代表性。可以看出访客最多的城市依次是北京、广州、上海、杭州,即大多来自一线城市。

 

五、搜索引擎分析

搜索引擎(科技爱好者博客2周年)

搜索引擎(科技爱好者博客2周年)
搜索引擎占比(科技爱好者博客2周年)

搜索引擎占比(科技爱好者博客2周年)

科技看到,Baidu占到了49%的搜索份额,Google占了47.5%的份额,而搜狗、360搜索、必应等搜索引擎只占了剩下不到4%的份额,这足以看出百度和谷歌在搜索引擎领域的地位。


阔步前进——科技爱好者博客两周年纪念,首发于科技爱好者博客

]]>
http://blog.lxx1.com/2192?pk_campaign=feed&pk_kwd=two-years/feed 0
树莓派使用Nokia5110显示屏显示系统信息 http://blog.lxx1.com/2001?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25be%25e4%25bd%25bf%25e7%2594%25a8nokia5110%25e6%2598%25be%25e7%25a4%25ba%25e5%25b1%258f%25e6%2598%25be%25e7%25a4%25ba%25e7%25b3%25bb%25e7%25bb%259f%25e4%25bf%25a1%25e6%2581%25af http://blog.lxx1.com/2001?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25be%25e4%25bd%25bf%25e7%2594%25a8nokia5110%25e6%2598%25be%25e7%25a4%25ba%25e5%25b1%258f%25e6%2598%25be%25e7%25a4%25ba%25e7%25b3%25bb%25e7%25bb%259f%25e4%25bf%25a1%25e6%2581%25af#respond Mon, 31 Oct 2016 22:00:53 +0000 http://blog.lxx1.com/?p=2001 树莓派使用Nokia5110显示屏显示系统信息,首发于科技爱好者博客

Nokia5110显示屏价格低廉,仅需要¥11就可以买到,比LCD1602和LCD12864更加便宜,最重要的 […]

树莓派使用Nokia5110显示屏显示系统信息,首发于科技爱好者博客

]]>
树莓派使用Nokia5110显示屏显示系统信息,首发于科技爱好者博客

Nokia5110显示屏价格低廉,仅需要¥11就可以买到,比LCD1602和LCD12864更加便宜,最重要的是Nokia5110可以显示更多的字符。本文在树莓派上使用Nokia5110显示屏来显示树莓派的启动时间、CPU占用、已经使用的内存量、内存占用百分比、当前的时间、IP地址等信息,包括树莓派与Nokia5110显示屏的硬件连接、显示程序。

一、为什么要加显示屏

树莓派可以看作一台计算机,具有HDMI接口,可以连接到显示器上,但是如果我们不用树莓派的图形界面,经常使用SSH远程登录来管理树莓派,那么就没有必要来使用显示器。在SSH远程登录时,如果树莓派使用的动态ip地址,那么每次登录都需要去路由器上查看树莓派的ip地址,非常的不方便,在前面的文章中,我们可以听到树莓派的ip地址,教程在这儿: 。如果我们希望通过更加直观的方式来查看树莓派的ip地址,那么我们可以为树莓派添加一个显示屏,来显示当前的ip地址,同时也可以显示树莓派的时间、内存占用、系统负载等信息。

关于树莓派显示屏的选用,可以选择的有LCD1602、LCD12864、Nokia5110等,由于LCD1602、LCD12864占用的IO口较多,并且LCD1602显示字符较少,而Nokia5110占用的IO口只有4个,同时能够显示足够多的字符,所以选择Nokia5110作为树莓派信息显示的显示屏。

二、Nokia5110显示屏介绍

Nokia5110显示屏价格较为低廉,在网上可以轻松的买到,在购买时推荐购买显示屏模块。方便在树莓派上使用。模块的图片如下图。

TB1NpyqFVXXXXXjXVXXXXXXXXXX_!!0-item_pic

Nokia5110显示屏有8个引脚,引脚介绍如下:

RST:外部复位引脚

CE:显示屏使能引脚

DC:数据/命令引脚

Din:串行数据输入端

CLK:串行时钟输入端

Vcc:电源引脚

BL: 亮度调节

Gnd:地

三、Nokia5110与树莓派连接方式

Nokia5110显示屏与树莓派连接,以下gpio编号使用wiringPi编号。

RST、——21

CE——22

DC——23

Din——24

CLK——25

Vcc——28

BL——29

Gnd——0V

连接电路如下图:

Nokia与树莓派连接方式

Nokia与树莓派连接方式

实物连接图:

IMG_20160713_124529

四、Nokia显示程序

登陆树莓派,点此下载nokia5110显示程序:nokia510,然后解压文件,进入cpu_show目录。

tar -xvf cpu_show.tar
cd cpu_show/

我们看到有三个文件:PCD8544.c PCD8544.h pcd8544_rpi.c

其中PCD8544.c为Nokia5110显示屏的驱动文件,PCD8544.h为驱动文件的头文件,我们主要看下显示程序pcd8544_rpi.c,主要程序和注释如下。

 


/*
=================================================================================
 Name        : pcd8544_rpi.c
 Version     : 0.1

 Copyright (C) 2012 by Andre Wussow, 2012, desk@binerry.de

 Description :
     A simple PCD8544 LCD (Nokia3310/5110) for Raspberry Pi for displaying some system informations.
         Makes use of WiringPI-library of Gordon Henderson (https://projects.drogon.net/raspberry-pi/wiringpi/)
 */
#include 
#include 
#include 
#include 
#include 
#include 
#include <sys/sysinfo.h>
#include "PCD8544.h"

//devin modify
#include <sys/types.h>
#include <sys/stat.h>
#include 
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <net/if.h>

#define TEMP_PATH "/sys/class/thermal/thermal_zone0/temp"
#define MAX_SIZE 32
#define NETWORK_FILE "/etc/network/interfaces"

// 引脚连接
int _din = 24;
int _sclk = 25;
int _dc = 23;
int _rst = 21;
int _cs = 22;

int _vcc = 28;
int _bl = 29;

// 对比度调节,根据屏幕亮度选择
//may be need modify to fit your screen!  normal: 30- 90 ,default is:45 !!!maybe modify this value!
int contrast = 30;

time_t timep;
struct tm *p;
char *wday[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};

char get_temp(void);
char* getip(char* ip_buf);
char* get_temp2(void);
int min,hour,sec,mday;
char week;
struct tm *localtime(const time_t *timep);
int main(void)
{

 // 打印程序运行信息
  printf("Raspberry Pi Nokia5110 sysinfo display\n");
  printf("========================================\n");

  // 检查wiringPi是否启动
  if (wiringPiSetup() == -1)
  {
        printf("wiringPi-Error\n");
    exit(1);
  }

  // 初始化Nokia并且清楚显示
  LCDInit(_sclk, _din, _dc, _cs, _rst, _vcc, _bl, contrast);
  LCDclear();

  // 显示树莓派Logo
  LCDshowLogo();

  delay(2000);

  for (;;)
  {
          // 清楚屏幕显示
          LCDclear();

          //获得当前时间
          char timeInfo[16];
          time(&timep);
          p=localtime(&timep);
          mday=p->tm_mday;
          min=p->tm_min;
          week=p->tm_wday;
          hour=p->tm_hour;
          sec=p->tm_sec;
          sprintf(timeInfo, "%d %d:%d:%d",mday,hour,min,sec);

          // 获得 system usage / info
          struct sysinfo sys_info;
          if(sysinfo(&sys_info) != 0)
          {
                printf("sysinfo-Error\n");
          }

          // 启动时间
          char uptimeInfo[15];
          unsigned long uptime = sys_info.uptime / 60;
          sprintf(uptimeInfo, "Up %ld min", uptime);

          // CPU占用
          char cpuInfo[10];
          unsigned long avgCpuLoad = sys_info.loads[0] / 1000;
          sprintf(cpuInfo, "CPU %ld%%\r", avgCpuLoad);

          // 内存使用量及占用
          char ramInfo[10];
          unsigned long totalRam = sys_info.totalram / 1024 / 1024;
          unsigned long freeRam = sys_info.freeram /1024 /1024;
          unsigned long usedRam = totalRam - freeRam;
          unsigned long ram_load = (usedRam * 100) / totalRam;
          sprintf(ramInfo, "RAM %.3dM %.2d", usedRam,ram_load);

          // 树莓派温度
          char tempInfo[10];
          sprintf(tempInfo, "TEM %.2dC %s", get_temp(),wday[week]);

          //IP 信息
          char ipInfo[16];
          getip(ipInfo);

          //开始显示
          LCDdrawstring(0, 0, uptimeInfo);
          LCDdrawstring(0, 8, cpuInfo);
          LCDdrawstring(0, 16, ramInfo);
          LCDdrawstring(0, 24, tempInfo);
          LCDdrawstring(0, 32, timeInfo);
          LCDdrawstring(0, 40, ipInfo);
          LCDdisplay();

          delay(1000);
  }
  return 0;
}

//decin modify

char get_temp(void)
{
    int fd;
    double temp = 0;
    char buf[MAX_SIZE];

    // 打开/sys/class/thermal/thermal_zone0/temp
    fd = open(TEMP_PATH, O_RDONLY);
    if (fd < 0) {
        fprintf(stderr, "failed to open thermal_zone0/temp\n");
                // 关闭文件
                close(fd);
        return -1;
    }

    // 读取内容
    if (read(fd, buf, MAX_SIZE) < 0) {
        fprintf(stderr, "failed to read temp\n");
                // 关闭文件
                close(fd);
        return -1;
    }

    // 转换为浮点数打印
    temp = atoi(buf) / 1000.0;
        // 关闭文件
        close(fd);
        return temp;
}

// 获取eth0端口的IP地址,可根据需要设置为WAN0
char* getip(char* ip_buf)
{
    struct ifreq temp;
    struct sockaddr_in *myaddr;
    int fd = 0;
    int ret = -1;
    strcpy(temp.ifr_name, "eth0");
    if((fd=socket(AF_INET, SOCK_STREAM, 0))<0)
    {
        return NULL;
    }
    ret = ioctl(fd, SIOCGIFADDR, &temp);
    close(fd);
    if(ret < 0) return NULL; myaddr = (struct sockaddr_in *)&(temp.ifr_addr); strcpy(ip_buf, inet_ntoa(myaddr->sin_addr));
        //printf("IP: %s", ip_buf);
    return ip_buf;
}

五、编译运行

接下来需要编译显示程序,在cpu_show目录下编译生成cpushow。

cc -o cpushow pcd8544_rpi.c PCD8544.c  -L/usr/local/lib -lwiringPi
编译完成后,会在当前目录下生成可执行文件 cpushow ,然后将nokia5110显示屏按照第三部分的介绍连接,连接完成后执行这个文件。
sudo ./cpushow
可以看到nokia5110显示屏上首先显示一个树莓派的logo,然后显示树莓派的启动时间、CPU占用、已经使用的内存量、内存占用百分比、当前的时间、IP地址等信息。如下图所示。
IMG_20160713_122727 IMG_20160713_123145 IMG_20160713_124645

树莓派使用Nokia5110显示屏显示系统信息,首发于科技爱好者博客

]]>
http://blog.lxx1.com/2001?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25be%25e4%25bd%25bf%25e7%2594%25a8nokia5110%25e6%2598%25be%25e7%25a4%25ba%25e5%25b1%258f%25e6%2598%25be%25e7%25a4%25ba%25e7%25b3%25bb%25e7%25bb%259f%25e4%25bf%25a1%25e6%2581%25af/feed 0
树莓派使用DS1302实现实时时钟功能 http://blog.lxx1.com/1995?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25be%25e4%25bd%25bf%25e7%2594%25a8ds1302%25e5%25ae%259e%25e7%258e%25b0%25e5%25ae%259e%25e6%2597%25b6%25e6%2597%25b6%25e9%2592%259f%25e5%258a%259f%25e8%2583%25bd http://blog.lxx1.com/1995?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25be%25e4%25bd%25bf%25e7%2594%25a8ds1302%25e5%25ae%259e%25e7%258e%25b0%25e5%25ae%259e%25e6%2597%25b6%25e6%2597%25b6%25e9%2592%259f%25e5%258a%259f%25e8%2583%25bd#respond Fri, 30 Sep 2016 22:00:29 +0000 http://blog.lxx1.com/?p=1995 树莓派使用DS1302实现实时时钟功能,首发于科技爱好者博客

树莓派在设计时由于对成本和体积的考虑,没有实时时钟功能(RTC:real-time clock),树莓派在使用 […]

树莓派使用DS1302实现实时时钟功能,首发于科技爱好者博客

]]>
树莓派使用DS1302实现实时时钟功能,首发于科技爱好者博客

树莓派在设计时由于对成本和体积的考虑,没有实时时钟功能(RTC:real-time clock),树莓派在使用时只能通过网络来同步时间,如果树莓派未连接网络,则无法实现时间同步,所以本文为树莓派添加了一个DS1302时钟芯片,使得树莓派在离线的情况下从DS1302中同步时间,从而实现硬件实时时钟功能。

一、准备条件

  • 树莓派2B一个
  • DS1302时钟模块一个
  • 5条杜邦线

二、DS1302介绍

DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31 字节静态RAM ,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、周、月、年的信息,每月的天数和闰年的天数可自动调整。时钟操作可通过AM/PM 指示决定采用24 或12 小时格式。DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:(1)RES 复位(2)I/O 数据线(3)SCLK 串行时钟。时钟/RAM 的读/写数据以一个字节或多达31个字节的字符组方式通信。DS1302 工作时功耗很低保持数据和时钟信息时功率小于1mW。

DS1302具有以下特性:

  • 实时时钟具有能计算2100 年之前的秒、分、时、日、星期、月、年的能力,还有闰年调整的能力
  • 串行I/O口方式使得管脚数量最少
  • 宽范围工作电压2.0-5.5V
  • 工作电流2.0V时,小于300nA,具有低功耗的特性
  • 读/写时钟或RAM 数据时有单字节传送和多字节传送字符组方式两种传送方式
  • 简单3线接口
  • 双电源管用于主电源和备份电源供应

三、DS1302模块介绍

我使用的是DS1302实时时钟模块,模块如下图。DS1302模块价格低廉,2元人民币就可以买到,并且附带一个CR2032纽扣电池,作为备份电源,当模块断电时也可以继续走时,保证时间信息不丢失。

模块是这样的:

DS1302时钟模块

DS1302时钟模块

模块共有5个引脚,引脚功能和与树莓派连接方式分别为:

VCC:模块的电源引脚,接树莓派的1号引脚(3.3V

GND:模块的地,接树莓派的6号引脚(Grand

CLK:SCLK 串行时钟,接树莓派wiringPi 0(物理编号:11号)

DAT:I/O 数据线,接树莓派wiringPi 1(物理编号:12号)

RST:复位引脚,接树莓派wiringPi 2(物理编号:13号)

我使用的是树莓派2B,在实际使用时没有在VCC和DAT之间接上拉电阻,发现也可以正常的读取时间信号,如果你使用其他版本的树莓派,并且发现读取的时间不正确的话,那么需要在VCC和DAT引脚之间并连接一个10K的上拉电阻。

四、硬件电路连接

DS1302实时时钟模块的引脚在上面介绍了,如果你不清楚树莓派的wiringPi编号以及gpio编号,可以参考树莓派gpio引脚对照表

DS1302和树莓派的整体连接方式如下图。

Untitled Sketch_bb

连接实物图:

树莓派与DS1302连接实物图

树莓派与DS1302连接实物图

五、程序设计

ds1302的驱动程序可以在wiringPi的examples目录下找到,我这里修改了源文件,源文件在将linux时间设置到DS1302中时使用了UTC时间,这样与我们的CST时间有偏差,所以使用localtime将CST当地时间写入到DS1302中,修改后的文件,大家可以将原来的ds1302.c文件覆盖。

修改后的ds1302.c文件。

 


#include 
#include 
#include 
#include 
#include 

#include 
#include 

// Register defines

#define RTC_SECS         0
#define RTC_MINS         1
#define RTC_HOURS        2
#define RTC_DATE         3
#define RTC_MONTH        4
#define RTC_DAY          5
#define RTC_YEAR         6
#define RTC_WP           7
#define RTC_TC           8
#define RTC_BM          31


static unsigned int masks [] = { 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, 0x07, 0xFF } ;


/*
 * bcdToD: dToBCD:
 *      BCD decode/encode
 *********************************************************************************
 */

static int bcdToD (unsigned int byte, unsigned int mask)
{
  unsigned int b1, b2 ;
  byte &= mask ;
  b1 = byte & 0x0F ;
  b2 = ((byte >> 4) & 0x0F) * 10 ;
  return b1 + b2 ;
}

static unsigned int dToBcd (unsigned int byte)
{
  return ((byte / 10) << 4) + (byte % 10) ;
}


/*
 * ramTest:
 *      Simple test of the 31 bytes of RAM inside the DS1302 chip
 *********************************************************************************
 */

static int ramTestValues [] =
  { 0x00, 0xFF, 0xAA, 0x55, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0xF0, 0x0F, -1 } ;

static int ramTest (void)
{
  int addr ;
  int got ;
  int i = 0 ;
  int errors = 0 ;
  int testVal ;

  printf ("DS1302 RAM TEST\n") ;

  testVal = ramTestValues [i] ;

  while (testVal != -1)
  {
    for (addr = 0 ; addr < 31 ; ++addr)
      ds1302ramWrite (addr, testVal) ;

    for (addr = 0 ; addr < 31 ; ++addr)
      if ((got = ds1302ramRead (addr)) != testVal)
      {
        printf ("DS1302 RAM Failure: Address: %2d, Expected: 0x%02X, Got: 0x%02X\n",
                addr, testVal, got) ;
        ++errors ;
      }
    testVal = ramTestValues [++i] ;
  }

  for (addr = 0 ; addr < 31 ; ++addr)
    ds1302ramWrite (addr, addr) ;

  for (addr = 0 ; addr < 31 ; ++addr) if ((got = ds1302ramRead (addr)) != addr) { printf ("DS1302 RAM Failure: Address: %2d, Expected: 0x%02X, Got: 0x%02X\n", addr, addr, got) ; ++errors ; } if (errors == 0) printf ("-- DS1302 RAM TEST: OK\n") ; else printf ("-- DS1302 RAM TEST FAILURE. %d errors.\n", errors) ; return 0 ; } /* * setLinuxClock: * Set the Linux clock from the hardware ********************************************************************************* */ static int setLinuxClock (void) { char dateTime [20] ; char command [64] ; int clock [8] ; printf ("Setting the Linux Clock from the DS1302... ") ; fflush (stdout) ; ds1302clockRead (clock) ; // [MMDDhhmm[[CC]YY][.ss]] sprintf (dateTime, "%02d%02d%02d%02d%02d%02d.%02d", bcdToD (clock [RTC_MONTH], masks [RTC_MONTH]), bcdToD (clock [RTC_DATE], masks [RTC_DATE]), bcdToD (clock [RTC_HOURS], masks [RTC_HOURS]), bcdToD (clock [RTC_MINS], masks [RTC_MINS]), 20, bcdToD (clock [RTC_YEAR], masks [RTC_YEAR]), bcdToD (clock [RTC_SECS], masks [RTC_SECS])) ; sprintf (command, "/bin/date %s", dateTime) ; system (command) ; return 0 ; } /* * setDSclock: * Set the DS1302 block from Linux time ********************************************************************************* */ static int setDSclock (void) { int clock[8] ; time_t now = time(NULL) ; struct tm* t = localtime(&now) ; int sec = t -> tm_sec ;
  int min = t -> tm_min ;
  int hour = t -> tm_hour ;
  int mday = t -> tm_mday ;
  int mon = t -> tm_mon ;
  int wday = t -> tm_wday ;
  int year = t -> tm_year ;
  printf ("Setting the clock in the DS1302 from Linux time... ") ;

  clock [ 0] = dToBcd (sec) ;   // seconds
  clock [ 1] = dToBcd (min) ;   // mins
  clock [ 2] = dToBcd (hour) ;  // hours
  clock [ 3] = dToBcd (mday) ;  // date
  clock [ 4] = dToBcd (mon + 1) ;       // months 0-11 --> 1-12
  clock [ 5] = dToBcd (wday + 1) ;      // weekdays (sun 0)
  clock [ 6] = dToBcd (year - 100) ;       // years
  clock [ 7] = 0 ;                      // W-Protect off

  ds1302clockWrite (clock) ;

  printf ("OK\n") ;

  return 0 ;
}




int main (int argc, char *argv [])
{
  int i ;
  int clock [8] ;

  wiringPiSetup () ;
  ds1302setup   (0, 1, 2) ;

  if (argc == 2)
  {
    /**/ if (strcmp (argv [1], "-slc") == 0)
      return setLinuxClock () ;
    else if (strcmp (argv [1], "-sdsc") == 0)
      return setDSclock () ;
    else if (strcmp (argv [1], "-rtest") == 0)
      return ramTest () ;
    else
    {
      printf ("Usage: ds1302 [-slc | -sdsc | -rtest]\n") ;
      return EXIT_FAILURE ;
    }
  }

  for (i = 0 ;; ++i)
  {
    printf ("%5d:  ", i) ;

    ds1302clockRead (clock) ;
    printf (" %2d:%02d:%02d",
        bcdToD (clock [2], masks [2]), bcdToD (clock [1], masks [1]), bcdToD (clock [0], masks [0])) ;

    printf (" %2d/%02d/%04d",
        bcdToD (clock [3], masks [3]), bcdToD (clock [4], masks [4]), bcdToD (clock [6], masks [6]) + 2000) ;

    printf ("\n") ;

    delay (200) ;
  }

  return 0 ;
}

六、同步时间

编译ds1302.c

将ds1302.c修改完成后,在examples目录下编译ds1302.c。

make ds1302.c

编译成功则显示:

[CC] 

ds1302.c[link]

如果出现错误,按照屏幕提示进行修改,然后再次编译,直到成功编译,会在当前目录下生成可执行文件 ds1302

测试电路是否连接正确

将硬件电路连接完毕后开始测试,首先测试电路是否连接正确。在生成的可执行文件ds1302目录下执行测试命令。

sudo ./ds1302 -rtest

如果成功则出现:

DS1302 RAM TEST

-- DS1302 RAM TEST: OK

如果测试失败,则需要检查线路连接是否正确。

将树莓派的当前时间写入

sudo ./ds1302 -sdsc

提示写入成功:

Setting the clock in the DS1302 from Linux time... OK

查看DS1302当前的时间

直接执行ds1302就可以查看DS1302实时时钟模块的当前时间,命令和输出如下:

pi@raspberrypi:~/wiringPi/examples $ sudo ./ds1302 
 0: 15:38:38 12/07/2016
 1: 15:38:38 12/07/2016
 2: 15:38:38 12/07/2016
 3: 15:38:38 12/07/2016
 4: 15:38:39 12/07/2016
 5: 15:38:39 12/07/2016
 6: 15:38:39 12/07/2016
 7: 15:38:39 12/07/2016
 8: 15:38:39 12/07/2016
 9: 15:38:40 12/07/2016
 10: 15:38:40 12/07/2016
 11: 15:38:40 12/07/2016
 12: 15:38:40 12/07/2016

2016-07-12_154447

可以看到已经将树莓派的系统时间写入到了DS1302实时时钟模块中了,这样在以后树莓派未连接网络时,就可以从DS1302实时时钟中读取时间同步。

将树莓派时间与DS1302时钟模块的时间同步

在执行ds1302文件时,在后面加入参数-slc 可以将DS1302模块的时间写入树莓派。示例如下:

pi@raspberrypi:~/wiringPi/examples $ sudo ./ds1302 -slc
Setting the Linux Clock from the DS1302... 2016年 07月 12日 星期二 15:42:29 CST

七、开机同步时间

将树莓派的时间与网络同步后,就可以写入到DS1302中,这样DS1302具有准确的当前时间,就算掉电也不会丢失,在树莓派离线时,可以在每次开机时将DS1302的时间写入到树莓派中,从而使得树莓派实现了实时时钟的功能。

获得可执行文件ds1302的目录

pi@raspberrypi:~/wiringPi/examples $ pwd
/home/pi/wiringPi/examples

然后修改 /etc/rc.local 文件,在exit 0前面添加时间同步命令,这样在树莓派开机时就会自动将DS1302的时间同步到树莓派上。添加以下命令:

sudo /home/pi/wiringPi/examples/ds1302 -slc

保存后退出。我们将树莓派断网,然后树莓派关机,过一会开机,使用date命令读取时间,可以看到树莓派的走时和当前时间一致,说明时间自动同步成功!


树莓派使用DS1302实现实时时钟功能,首发于科技爱好者博客

]]>
http://blog.lxx1.com/1995?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25be%25e4%25bd%25bf%25e7%2594%25a8ds1302%25e5%25ae%259e%25e7%258e%25b0%25e5%25ae%259e%25e6%2597%25b6%25e6%2597%25b6%25e9%2592%259f%25e5%258a%259f%25e8%2583%25bd/feed 0
树莓派使用wiringPi控制LED灯 http://blog.lxx1.com/1991?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25be%25e4%25bd%25bf%25e7%2594%25a8wiringpi%25e6%258e%25a7%25e5%2588%25b6led%25e7%2581%25af http://blog.lxx1.com/1991?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25be%25e4%25bd%25bf%25e7%2594%25a8wiringpi%25e6%258e%25a7%25e5%2588%25b6led%25e7%2581%25af#respond Wed, 31 Aug 2016 22:00:34 +0000 http://blog.lxx1.com/?p=1991 树莓派使用wiringPi控制LED灯,首发于科技爱好者博客

在使用树莓派GPIO控制LED灯 中,我们通过python来控制LED灯的亮、灭,在本篇文章中,我们将使用c语 […]

树莓派使用wiringPi控制LED灯,首发于科技爱好者博客

]]>
树莓派使用wiringPi控制LED灯,首发于科技爱好者博客

使用树莓派GPIO控制LED灯 中,我们通过python来控制LED灯的亮、灭,在本篇文章中,我们将使用c语言编程来控制和树莓派相连的LED,让它有节奏的闪烁。

使用c语言编程非常适合嵌入式开发程序员,因为对C语言比较熟悉,而且C语言偏向底层,开发出来的程序经过编译后运行,速度非常快。wiringPi是树莓派开发的库函数,在开发中可以减少工作量,提高开发速度,关于wiringPi的介绍可以参考这篇文章 。

一、硬件连接

LED的正极连接到树莓派的2号引脚(5V),然后串接一个220欧姆的电阻,最后将电阻的另外一段连接到树莓派的37号引脚(wiringPi Pin 25)。

硬件电路如下图:

2016-07-11_115855

二、程序设计

新建文件 led.c,输入以下代码:

    
#include"wiringPi.h"
char LED=25;

int main(void)
{
if(wiringPiSetup() < 0) return 1;
pinMode (LED,OUTPUT);

while(1)
        {
        digitalWrite(LED,1);
        delay(200);
        digitalWrite(LED,0);
        delay(200);
        }
}
  

然后编译led.c文件。

gcc -Wall led.c -o led -lwiringPi

-wall参数表示开启所有编译错误,-lwiringPi表示在编译时使用wiringPi库。

编译完成后,在当前目录下回生成可执行文件led,以root身份执行即可看到效果。

sudo ./led
这样就可以看到树莓派控制的LED开始了闪烁,间隔时间为0.2秒。

树莓派使用wiringPi控制LED灯,首发于科技爱好者博客

]]>
http://blog.lxx1.com/1991?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25be%25e4%25bd%25bf%25e7%2594%25a8wiringpi%25e6%258e%25a7%25e5%2588%25b6led%25e7%2581%25af/feed 0
树莓派wiringPi介绍、安装及常用函数说明 http://blog.lxx1.com/1987?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25bewiringpi%25e4%25bb%258b%25e7%25bb%258d%25e3%2580%2581%25e5%25ae%2589%25e8%25a3%2585%25e5%258f%258a%25e5%25b8%25b8%25e7%2594%25a8%25e5%2587%25bd%25e6%2595%25b0%25e8%25af%25b4%25e6%2598%258e http://blog.lxx1.com/1987?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25bewiringpi%25e4%25bb%258b%25e7%25bb%258d%25e3%2580%2581%25e5%25ae%2589%25e8%25a3%2585%25e5%258f%258a%25e5%25b8%25b8%25e7%2594%25a8%25e5%2587%25bd%25e6%2595%25b0%25e8%25af%25b4%25e6%2598%258e#respond Sun, 31 Jul 2016 22:00:44 +0000 http://blog.lxx1.com/?p=1987 树莓派wiringPi介绍、安装及常用函数说明,首发于科技爱好者博客

wiringPi是树莓派平台上的GPIO控制库函数,使用c语在树莓派上开发时,能够较少代码量,大大提高了开始效 […]

树莓派wiringPi介绍、安装及常用函数说明,首发于科技爱好者博客

]]>
树莓派wiringPi介绍、安装及常用函数说明,首发于科技爱好者博客

wiringPi是树莓派平台上的GPIO控制库函数,使用c语在树莓派上开发时,能够较少代码量,大大提高了开始效率。wiringPi遵守GUN Lv3。wiringPi包括一套gpio控制命令,通过gpio命令可以查询或者设置树莓派上GPIO的状态。wiringPi能够控制树莓派上的I2C、SPI、USRT、PWM等接口,从而利用树莓派与支持上述接口的电子元件互动。

wiringPi安装

在最新的树莓派镜像中,wiringPi已经是默认安装的,即安装完树莓派系统后不用再次安装wiringPi就可以使用。如果你的系统没有更新,需要安装wiringPi的方法如下。

首先安装git

sudo apt-get -y update && sudo apt-get upgrade
sudo apt-get install git-core

获得wiringPi的源代码

git clone git://git.drogon.net/wiringPi

进入wiringPi目录并且安装

cd wiringPi
./build
这样wiringPi就安装成功了,使用以下gpio -v命令测试是否安装成功,在我的树莓派2上有如下输出:
pi@raspberrypi:~ $ gpio -v
gpio version: 2.32
Copyright (c) 2012-2015 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

Raspberry Pi Details:
 Type: Pi 2, Revision: 01, Memory: 1024MB, Maker: Sony 
 * Device tree is enabled.
 * This Raspberry Pi supports user-level GPIO access.
 -> See the man-page for more details
 -> ie. export WIRINGPI_GPIOMEM=1

树莓派wiringPi引脚说明

在树莓派输入gpio readall命令可以查看引脚的BCM GPIO、wiringPi Pin编号,这里只是树莓派2B的引脚编号,其他树莓派的型号引脚可以查看树莓派GPIO引脚对照表 。

树莓派2B GPIO引脚编号

树莓派2BGPIO引脚编号

wiringPi常用函数说明

1、void pinMode(int pin,int mode);

pinMode函数设置树莓派Pin脚的输入和输出模式以及PWM的输入和输出模式,在wiringPi中只有pin1(BCM_GPIO 18)是支持PWM输出的。

2、void digitalWrite(int pin,int value);

digitalWrite函数用来设置pin脚的输出电平的,设置为HIGH(LOW)或者1 ( 0)即将树莓派的pin脚设置为高电平(低电平)输出。要注意的是,在使用这个函数设置前,树莓派pin脚必须设置为输出状态。

3、void pwmWrite(int pin,int value);

pwmWrite函数将value值写入PWM寄存器然后控制GPIO值的,要写入的vaule值必须在0-1024之间。

4、void digitalRead(int pin);

digitalRead函数用来读取树莓派pin引脚上的电平值,然后返回这个读取到的值。

5、void delay(unsigned int howLong);

delay函数为毫秒级的延时函数,可以延时参数个毫秒。

6、void delayMicroseconds(unsigned int howLong);

delayMicroseconds函数是毫秒级的延时函数。


树莓派wiringPi介绍、安装及常用函数说明,首发于科技爱好者博客

]]>
http://blog.lxx1.com/1987?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25bewiringpi%25e4%25bb%258b%25e7%25bb%258d%25e3%2580%2581%25e5%25ae%2589%25e8%25a3%2585%25e5%258f%258a%25e5%25b8%25b8%25e7%2594%25a8%25e5%2587%25bd%25e6%2595%25b0%25e8%25af%25b4%25e6%2598%258e/feed 0
树莓派系统常用中文镜像源 http://blog.lxx1.com/2040?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25be%25e7%25b3%25bb%25e7%25bb%259f%25e5%25b8%25b8%25e7%2594%25a8%25e4%25b8%25ad%25e6%2596%2587%25e9%2595%259c%25e5%2583%258f%25e6%25ba%2590 http://blog.lxx1.com/2040?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25be%25e7%25b3%25bb%25e7%25bb%259f%25e5%25b8%25b8%25e7%2594%25a8%25e4%25b8%25ad%25e6%2596%2587%25e9%2595%259c%25e5%2583%258f%25e6%25ba%2590#respond Mon, 25 Jul 2016 15:36:45 +0000 http://blog.lxx1.com/?p=2040 树莓派系统常用中文镜像源,首发于科技爱好者博客

树莓派使用官方的镜像源就行软件同步时,速度较慢,可能出现卡顿的情况,为解决这一问题,我们可以修改树莓派的设置, […]

树莓派系统常用中文镜像源,首发于科技爱好者博客

]]>
树莓派系统常用中文镜像源,首发于科技爱好者博客

树莓派使用官方的镜像源就行软件同步时,速度较慢,可能出现卡顿的情况,为解决这一问题,我们可以修改树莓派的设置,将默认的软件源进行替换,从而加快系统的更新速度。本文包含树莓派常用软件源列表和修改软件源的设置方法。

一:树莓派常用软件源列表

中山大学
Raspbian http://mirror.sysu.edu.cn/raspbian/raspbian

中国科学技术大学
Raspbian http://mirrors.ustc.edu.cn/raspbian/raspbian/

清华大学
Raspbian http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/

大连东软信息学院源(北方用户)
Raspbian http://mirrors.neusoft.edu.cn/raspbian/raspbian/

重庆大学源(中西部用户)
Raspbian http://mirrors.cqu.edu.cn/Raspbian/raspbian/

二、树莓派修改软件源的方法

编辑/etc/apt/sources.list文件。删除原文件所有内容,用以下内容取代:

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main non-free contrib
deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main non-free contrib

编辑此文件后,请使用sudo apt-get update命令,更新软件列表。

这样树莓派更新软件就会使用中国科学技术大学的镜像源,从而大大提高更新速度,要使用其他的软件源,根据以上代码就行修改。


树莓派系统常用中文镜像源,首发于科技爱好者博客

]]>
http://blog.lxx1.com/2040?pk_campaign=feed&pk_kwd=%25e6%25a0%2591%25e8%258e%2593%25e6%25b4%25be%25e7%25b3%25bb%25e7%25bb%259f%25e5%25b8%25b8%25e7%2594%25a8%25e4%25b8%25ad%25e6%2596%2587%25e9%2595%259c%25e5%2583%258f%25e6%25ba%2590/feed 0
可以在微信公众号中搜索、查看科技爱好者博客中的文章了 http://blog.lxx1.com/2018?pk_campaign=feed&pk_kwd=%25e5%258f%25af%25e4%25bb%25a5%25e5%259c%25a8%25e5%25be%25ae%25e4%25bf%25a1%25e5%2585%25ac%25e4%25bc%2597%25e5%258f%25b7%25e4%25b8%25ad%25e6%2590%259c%25e7%25b4%25a2%25e3%2580%2581%25e6%259f%25a5%25e7%259c%258b%25e7%25a7%2591%25e6%258a%2580%25e7%2588%25b1%25e5%25a5%25bd%25e8%2580%2585%25e5%258d%259a%25e5%25ae%25a2%25e4%25b8%25ad http://blog.lxx1.com/2018?pk_campaign=feed&pk_kwd=%25e5%258f%25af%25e4%25bb%25a5%25e5%259c%25a8%25e5%25be%25ae%25e4%25bf%25a1%25e5%2585%25ac%25e4%25bc%2597%25e5%258f%25b7%25e4%25b8%25ad%25e6%2590%259c%25e7%25b4%25a2%25e3%2580%2581%25e6%259f%25a5%25e7%259c%258b%25e7%25a7%2591%25e6%258a%2580%25e7%2588%25b1%25e5%25a5%25bd%25e8%2580%2585%25e5%258d%259a%25e5%25ae%25a2%25e4%25b8%25ad#comments Mon, 18 Jul 2016 16:27:19 +0000 http://blog.lxx1.com/?p=2018 可以在微信公众号中搜索、查看科技爱好者博客中的文章了,首发于科技爱好者博客

微信作为一个交流工具已经渗透到人们的日常生活中,使用微信获取信息也越来越方便。现在告诉大家一个好消息,科技爱好 […]

可以在微信公众号中搜索、查看科技爱好者博客中的文章了,首发于科技爱好者博客

]]>
可以在微信公众号中搜索、查看科技爱好者博客中的文章了,首发于科技爱好者博客

微信作为一个交流工具已经渗透到人们的日常生活中,使用微信获取信息也越来越方便。现在告诉大家一个好消息,科技爱好者博客有了自己的微信公众号了,通过公众号,可以直接搜索科技爱好者博客的文章,也可以获取最新的文章,当然,还能够随机获取文章,功能非常强大,一定要来体验下。公众号昵称:科技爱好者,微信号:lxx1-com,欢迎关注。

科技爱好者博客公众号,欢迎扫码关注!

科技爱好者博客公众号,欢迎扫码关注!

主要功能:

1.搜索

输入要搜索的关键词,科技爱好者博客的公众号会返回查询得到结果最相关的5篇文章,点击就可以阅读啦~

通过微信搜索科技爱好者博客的文章

通过微信搜索科技爱好者博客的文章

2、查看最新文章

输入 最新 即可获得科技爱好者博客的5篇最新文章~快输入最新试试吧

获得科技爱好者博客的最新文章

获得科技爱好者博客的最新文章

3、随便看看

如果你想随便看看科技爱好者博客的文章,可以输入 随机 获得随机的博客文章。

获取科技爱好者博客的随机文章

获取科技爱好者博客的随机文章

通过微信公众号可以更加快速、便捷的获取科技爱好者博客的文章,希望能为大家带来方便,现在就扫码关注科技爱好者公众号,开启新的阅读体验。

 


可以在微信公众号中搜索、查看科技爱好者博客中的文章了,首发于科技爱好者博客

]]>
http://blog.lxx1.com/2018?pk_campaign=feed&pk_kwd=%25e5%258f%25af%25e4%25bb%25a5%25e5%259c%25a8%25e5%25be%25ae%25e4%25bf%25a1%25e5%2585%25ac%25e4%25bc%2597%25e5%258f%25b7%25e4%25b8%25ad%25e6%2590%259c%25e7%25b4%25a2%25e3%2580%2581%25e6%259f%25a5%25e7%259c%258b%25e7%25a7%2591%25e6%258a%2580%25e7%2588%25b1%25e5%25a5%25bd%25e8%2580%2585%25e5%258d%259a%25e5%25ae%25a2%25e4%25b8%25ad/feed 3
工作了,博客更新可能会减慢 http://blog.lxx1.com/2012?pk_campaign=feed&pk_kwd=%25e5%25b7%25a5%25e4%25bd%259c%25e4%25ba%2586%25ef%25bc%258c%25e5%258d%259a%25e5%25ae%25a2%25e6%259b%25b4%25e6%2596%25b0%25e5%258f%25af%25e8%2583%25bd%25e4%25bc%259a%25e5%2587%258f%25e6%2585%25a2 http://blog.lxx1.com/2012?pk_campaign=feed&pk_kwd=%25e5%25b7%25a5%25e4%25bd%259c%25e4%25ba%2586%25ef%25bc%258c%25e5%258d%259a%25e5%25ae%25a2%25e6%259b%25b4%25e6%2596%25b0%25e5%258f%25af%25e8%2583%25bd%25e4%25bc%259a%25e5%2587%258f%25e6%2585%25a2#respond Thu, 14 Jul 2016 23:12:37 +0000 http://blog.lxx1.com/?p=2012 工作了,博客更新可能会减慢,首发于科技爱好者博客

正在去武汉的火车上,工作的地方目前在武汉。到单位后由于某些原因,博客会保持更新,但是博客更新的速度会减慢,不过 […]

工作了,博客更新可能会减慢,首发于科技爱好者博客

]]>
工作了,博客更新可能会减慢,首发于科技爱好者博客

正在去武汉的火车上,工作的地方目前在武汉。到单位后由于某些原因,博客会保持更新,但是博客更新的速度会减慢,不过一有机会,我就会及时更新的。


工作了,博客更新可能会减慢,首发于科技爱好者博客

]]>
http://blog.lxx1.com/2012?pk_campaign=feed&pk_kwd=%25e5%25b7%25a5%25e4%25bd%259c%25e4%25ba%2586%25ef%25bc%258c%25e5%258d%259a%25e5%25ae%25a2%25e6%259b%25b4%25e6%2596%25b0%25e5%258f%25af%25e8%2583%25bd%25e4%25bc%259a%25e5%2587%258f%25e6%2585%25a2/feed 0