Navigation

    蓝鲸ROS机器人论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Popular
    1. Home
    2. weijiz
    3. Posts
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision
    • Profile
    • Following 0
    • Followers 11
    • Topics 248
    • Posts 705
    • Best 11
    • Groups 1

    Posts made by weijiz

    • ROS基础知识

      ROS 简介

      1. 什么是ROS
        ROS 是 Robot Operation System 的简称。是专门为机器人控制开发的系统。和一般的操作系统相比增加了软件包管理,信息通信框架等。同时这个系统对硬件进行了抽象使得各个组件之间的耦合更低,程序开发也更加方便快捷。

      2. ROS 能在哪些平台上使用
        ROS官方版本基于Ubuntu进行开发。所以无论是arm架构还是x86架构都可以使用。即使你所使用的平台无法安装Ubuntu或者Debian,只要能够安装Linux系统就可以从源码编译安装ROS。OSX也可以安装ROS,不过是测试版本,安装使用过程中可能会遇到问题,并不推荐大家使用。Windows的ROS已经实现,但并未完全开发完成。

      3. ROS的版本区别
        ROS每年5月发布一个版本。其中单数年份发布为短期版本,支持时间为2年。双数年份发布的版本为长期支持版,支持时间为5年。最新的长期支持版是Kinetic Kame。现在一般网上的教程是基于Hydro或者 Indigo。这些教程和Jade和Kinetic版本是通用的。
        不同版本之间并不完全通用。比如你的机器人的系统是Indigo的,但是你的本地操作系统是Jade的那么系统间通信就有可能会出现消息格式不匹配的情况。所以不同系统间的版本尽量保持一致。

      4. ROS的学习路线
        ROS开发中主要使用的语言是C++和Python,你需要对这两种语言都比较熟悉。同时ROS基于Ubuntu操作系统,这也要求你对Ubuntu比较熟悉。
        首先你可以先读完这篇文章,对于ROS的架构和基本概念有一个初步的认识。然后看官方wiki中的Tutorial 。
        同时Learning ROS for Robotics Programming Second Edition也是一个不错的选择。
        你也可以按照这个ROS思维导图的方式来学习。
        在对ROS比较熟悉之后,如果你想了解更多关于ROS设计方面的东西可以看看REP
        如果想要了解关于ROS2方面的信息可以看这里
        在实际使用中会遇到很多问题,欢迎在我们的ROS交流群中提问(538456117)
        当然想要更深入的了解ROS,阅读源代码也是一个不错的选择
        ROS源代码
        ROS2源代码

      5. ROS的未来
        ROS虽然大大方便了机器人开发,在业内有很广泛的应用,但是实际使用中还是有挺多问题。比如稳定性,网络带宽和多机器的情况下的自动连接等等。这些功能都会在ROS2中实现。随着ROS的不断发展,相信其在机器人行业会有越来越好的发展前景。

      ROS的架构

      ROS与其说是操作系统其实更像一个通信框架。ROS的基本单元是节点(Node)。节点之间可以通过订阅和发布Topic进行通信。节点的基本信息会存储在Master里面。下面以一个例子具体说明。假如我们现在有一个激光雷达,然后我们想要通过图形界面显示雷达的数据。那么整个结构就如下图所示

      0_1506330911799_QQ截图20170925154958.png

      激光雷达有一个节点叫做hokuyo,图形界面有一个节点叫做viewer。激光雷达节点从传感器读出数据之后,首先告诉Master自己在发布一个叫做scan的topic。然后在本地监听2345端口,等待其他节点连接。图形界面节点viewer启动之后,首先告诉Master自己在订阅一个叫做scan的topic。这时候Master就会告诉viewer节点谁在发布scan。Viewer获得到hokuyo的地址和端口信息后和hokuyo节点建立TCP连接。这样激光雷达的数据就从hokuyo节点发送至viewer节点了。
      通过这种架构可以实现节点的分布式处理功能。即不同的节点不要求一定在同一个机器人上。比如上例中的激光雷达节点和viewer节点就可以在不同的机器人上。也可以进一步实现多台机器人的调度。

      ROS的基本概念

      从上例我们可以看出ROS中有以下几个比较重要的基本概念

      1. Master
        Master就是存放各种节点和topic信息的地方。节点之间通过Master了解到对方的信息。同时在Master的帮助下节点之间建立网络连接。
      2. Node
        基本的ROS计算单元。
      3. Topic
        节点之间的通信通道
      4. Parameter Server
        参数服务器。在使用过程中可能不同的节点间要共享一些参数。这些参数就可以放在参数服务器里面。其作用就类似于不同节点公用的全局变量。在上面的例子中没有用到参数服务器。

      ROS的安装

      下面以Kinetic版本为例说明ROS的安装方法。

      1. 安装Ubuntu 16.04
      2. 添加ROS源
      sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
      
      1. 添加源的key
      sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
      
      1. 安装
      sudo apt-get update
      sudo apt-get install ros-kinetic-desktop-full
      
      1. 初始化rosdep
      sudo rosdep init
      rosdep update
      

      ROS的环境变量

      ROS运行时依赖一些环境变量,所以我们要把其添加到自己的终端配置文件中。

      echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
      source ~/.bashrc
      

      这样就会在bash中添加source /opt/ros/kinetic/setup.bash这样一行语句。每次打开一个终端都会执行上面的脚本。这个脚本会设置ROS相关的一些环境变量。

      下一步

      ROS tutorial

      posted in 技术交流
      weijiz
      weijiz
    • rqt_graph报错global name 'dot_parser' is not defined

      产生这个问题的原因是rqt_graph用到了pydot而pydot默认版本只支持pyparsing < 2.0版本。而现在系统中pyparsing的默认版本是大于2.0的。幸运的是新版的pydot已经解决了这个问题。所以解决方法很容易,就是升级pydot的版本。

      sudo pip install -U pydot
      
      posted in 技术交流
      weijiz
      weijiz
    • RE: 伽利略视觉导航系统API v1 alpha

      速度的设置?可以控制机器人运动的速度以适应不同的应用场景

      posted in 产品服务
      weijiz
      weijiz
    • 如何在本地运行open street map服务器

      open street map是一个开源的地图平台。网站http://www.openstreetmap.org/

      网页程序的源代码在这里 https://github.com/openstreetmap/openstreetmap-website/

      虽然官方有安装说明,但是由于说明的太过简略,很多关键地方没有说明,导致想要让程序在本地运行起来都很困难。下面就是我很费劲才摸索出的安装和运行方法。

      以下都是以 Ubuntu 16.04 为例

      安装依赖

      sudo apt-get install ruby2.3 libruby2.3 ruby2.3-dev \
                           libmagickwand-dev libxml2-dev libxslt1-dev nodejs \
                           apache2 apache2-dev build-essential git-core \
                           postgresql postgresql-contrib libpq-dev postgresql-server-dev-all \
                           libsasl2-dev imagemagick
      sudo gem2.3 install bundler
      

      下载源代码

      git clone --depth=1 https://github.com/openstreetmap/openstreetmap-website.git
      

      ruby gems

      cd openstreetmap-website
      bundle install
      

      这里最好先把ruby的源换成国内的,否则速度非常慢,换源的方法可以自己搜索一下

      复制配置文件

      cp config/example.application.yml config/application.yml
      

      配置数据库

      cp config/example.database.yml config/database.yml
      
      sudo -u postgres -i
      createuser -s <username>
      exit
      
      bundle exec rake db:create
      
      psql -d openstreetmap -c "CREATE EXTENSION btree_gist"
      
      cd db/functions
      make libpgosm.so
      cd ../..
      
      psql -d openstreetmap -c "CREATE FUNCTION maptile_for_point(int8, int8, int4) RETURNS int4 AS '`pwd`/db/functions/libpgosm', 'maptile_for_point' LANGUAGE C STRICT"
      psql -d openstreetmap -c "CREATE FUNCTION tile_for_point(int4, int4) RETURNS int8 AS '`pwd`/db/functions/libpgosm', 'tile_for_point' LANGUAGE C STRICT"
      psql -d openstreetmap -c "CREATE FUNCTION xid_to_int4(xid) RETURNS int4 AS '`pwd`/db/functions/libpgosm', 'xid_to_int4' LANGUAGE C STRICT"
      
      bundle exec rake db:migrate
      
      

      测试一下

      bundle exec rake test:db
      

      配置

      以上的步骤都是官方文档里的说明,如果你想要了解更多细节可以看这里

      按照官方文档下面运行

      bundle exec rails server
      

      就可以在http://localhost:3000访问网站了。但是实际上并不可以。

      你还要进行下面的步骤

      1. 编译assets
      bundle exec rake assets:precompile
      

      否则会报各种缺文件的错误

      1. 注册用户
        当你开始编辑的时候需要在本地的网站上注册用户。其中有邮箱的验证过程,然而本地的服务器是不会发邮件的,这样也就没办法认证。解决方法有两种,一种是改数据库里面的数据,设置用户为已认证。另一种就是,虽然没办法发邮件,但是邮件的内容会在终端输出来,把链接地址复制到浏览器里面就可以了。注意吧地址改成本地的。

      2. 申请用户token
        当你注册完成之后你会发现你没办法保存自己修改的地图。甚至无法打开地图编辑页面。会有各种create_token没有定义的错误。这是由于没有给自己本地的网站设置token的原因。
        在浏览器打开http://localhost:3000/user/randoms/oauth_clients/new其中的randoms要换成你自己注册的用户名。打开如下的界面

      0_1499324670768_TIM截图20170706150411.png

      名字可以随便输入,Main Application URL 写成 http://localhost:3000,当然如果你的地址不是localhost要根据自己的情况进行调整。把下面的选项全部勾上,点击注册就可以了。

      注册完成之后会出现下面的页面

      0_1499324858307_TIM截图20170706150730.png

      这样我们就获得了Consumer Key了

      打开源代码中的config/application.yml文件
      把server_url的值修改成http://localhost:3000
      把oauth_key的值修改成刚才获得的Consumer Key
      把id_key的值修改成刚才获得的Consumer Key

      保存修改然后运行

      bundle exec rails server
      

      就可以在本地使用了

      最后再吐槽一下官方的文档,缺少的东西太多了。。。

      posted in 技术交流
      weijiz
      weijiz
    • django test 无法正常退出的问题

      在用django的时候如果你在程序里开了其他线程(比如用作后台的长期服务程序)。那么在用django自带的测试程序就会有问题。测试完成之后程序无法自动退出。这是由于开启的线程还在运行的原因。

      解决方法也比较简单。这是因为django的测试代码中用的是sys.exit()来退出。但是当python程序还有其他线程在执行的时候这个指令是没办法退出的。
      把 django/core/management/commands/test.py

      def handle(self, *test_labels, **options):
              from django.conf import settings
              from django.test.utils import get_runner
      
              TestRunner = get_runner(settings, options['testrunner'])
      
              test_runner = TestRunner(**options)
              failures = test_runner.run_tests(test_labels)
      
              if failures:
                  sys.exit(1)
      

      改为

      def handle(self, *test_labels, **options):
              from django.conf import settings
              from django.test.utils import get_runner
      
              TestRunner = get_runner(settings, options['testrunner'])
      
              test_runner = TestRunner(**options)
              failures = test_runner.run_tests(test_labels)
      
              if failures:
                  os._exit(1)
              os._exit(0)
      

      就是采用os._exit()进行退出。这样其他线程能够收到SIGINT的信号,然后回收资源退出就可以了。

      posted in 技术交流
      weijiz
      weijiz
    • 升级新版的远程连接服务SharpLink

      最近对远程连接服务进行了很大程度的升级,修复了许多已有的和新发现的问题,建议对远程连接服务有需求的用户进行升级。新版本的稳定性和可用性都有了很大的提高。

      安装c-toxcore

      Github地址
      按照上面说明的安装方法进行安装

      安装SharpLink

      首先删除旧版本的SharpLink,一般在/Documents/SharpLink
      安装新版本

      cd  ~/Documents/ros/src
      git clone https://github.com/BlueWhaleRobot/SharpLink
      cd ~/Documents/ros
      catkin_make
      

      新版本的已经做成了catkin package可以通过catkin_make来编译安装。

      安装服务文件

      在/etc/init/文件夹内应该有一个叫toxserver.conf的文件,如果没有则创建一个。内容为

      description "tox server daemon"
      start on runlevel [2345]
      stop on runlevel [06]
      
      script
          chdir /home/xiaoqiang/Documents/ros/devel/lib/sharplink
          exec /home/xiaoqiang/Documents/ros/devel/lib/sharplink/SharpLink.exe
      end script
      
      

      创建完成后执行

      sudo service toxserver start
      

      然后执行

      sudo service toxserver status
      

      如果出现
      0_1497924511876_upload-aa4aca13-717b-4f20-8288-4d5b949ae3be

      就说明已经安装成功了。
      新版本的ID可以通过下面的指令获取

      cd /home/xiaoqiang/Documents/ros/devel/lib/sharplink
      cat ./server.log | grep -E "[0-9]+, ID: [0-9A-F]{76}" | grep -oE -m1 "[0-9A-F]{76}"
      
      posted in 产品服务
      weijiz
      weijiz
    • 小强远程连接SharpLink Android版使用

      下载地址

      SharpLink.apk

      源码地址

      SharpLink-Android

      SharpLink是小强中用来远程协助的程序。用户可以通过SharpLink把小强的端口映射到本地,这样就即使不在同一个局域网中也可以远程访问小强。SharpLink-Android就是SharpLink的Android版本。这样就可以通过手机配合遥控App(目前提供的APP还不可以,因为使用了UDP而SharpLink是TCP的)来远程控制小强了。

      使用方法

      下载安装最上面的APK。打开APP
      0_1497923550352_Screenshot_2017-06-20-09-51-17-594_com.companyname.sharplink.png
      在服务器ID处输入自己的ID,ID可以通过这里的方法获取。
      在服务器端口处输入你想要连接的小强端口。输入完成后点击CONNECT按钮,等待按钮变绿就可以了。
      这时小强的目标端口就被隐射到本地的23232端口了。你可以像访问小强一样的访问23232端口。

      posted in 产品服务
      weijiz
      weijiz
    • RE: 查拉图斯特拉如是说

      当然很多人可能连天是什么都不太清楚,那就是另外一个问题了。

      posted in 杂谈
      weijiz
      weijiz
    • 查拉图斯特拉如是说

      查拉图斯特拉如是说是尼采的一本书,书中通过查拉图斯特拉的一些故事来说明尼采自己的观点。我很早就把这本书看完了,同时还有尼采的其他作品。这部作品对我的影响还是比较深的。今天在豆瓣阅读上看到这本书,同时还有其他读者的一些批注。我觉得很多人并没有理解这本书的真正含义。下面就说说我的理解,当然我也认为这是尼采真正想表达的思想。

      我想从我当初的经历来说起。当初在刚入大学时,有一位老师专门教我们传统文化。宣传儒家思想。经常会说传统文化如何如何的好,让我们向传统学习。让我们每天都要读弟子规。那时我认为老师说的很有道理,每天早晨起来都会读弟子规。后来这个课结束了,很多学生也受其影响开始读儒家经典。我记得我好像是读了大学。不仅读,我还身体力行。里面怎么说我就怎么做。比如里面说坐的时候,手脚怎么放,走路时又应该怎么走。甚至我看到别人懒懒散散的样子也会非常鄙视。但是过了一段时间我觉得这很有问题。我是一个人,又不是机器人,为什么连怎么坐,怎么走路也要按照这个标准,甚至对不这么做的人还很厌恶。即使我不按照这种方法坐,不按照这种方法走,又有什么问题呢?我觉得这些违背了人的本性。

      后来我看了一本尼采的作品集。因为有过这种经历就很容易明白尼采在说什么。尼采的主要观点围绕着天和地两个意象。天就是大家所推崇的一种价值观。这种价值观看起来非常的高尚。地就是人的本性。尼采不停的说上帝已死,人要回归到大地中去。就是说传统的价值观违背了人性,人要回归到本性。一直待在天上人会失去生命力。

      其实天和地的区别也并不是那么大。人肯定是从地生出来的。然而人类为了活下去,为了更好的生存,又发明了天。天的本质实际上是更好的为地去服务。然而时间久了人就忘了自己是从地中来了。反而为天而活着。这就是本末倒置了。

      posted in 杂谈
      weijiz
      weijiz
    • 伽利略视觉导航系统API v1 alpha

      伽利略视觉导航系统SDK v1 alpha正在开发中。我们发布了API的草案。希望大家能够根据自己的使用场景和需求提出修改意见,来更加完善这个导航系统。

      想要了解这个系统的基本信息和演示视频可以看这里

      在线版本

      pdf版本

      所有的意见都是欢迎的。:-D

      正式发布后,所有提出修改意见的人和小强用户都可以免费使用伽利略导航系统。

      posted in 产品服务
      weijiz
      weijiz
    • RE: 小强机器人惯性导航,在遇到障碍物时会动态蔽障吗。

      @alice 在 小强机器人惯性导航,在遇到障碍物时会动态蔽障吗。 中说:

      请问,小强机器人惯性导航,在遇到障碍物时会动态蔽障吗。是用了navigation功能包实现的惯性导航吗

      只是惯性导航的话是用红外进行避障的,遇到障碍物只能停下来。如果想要绕过去要增加其他传感器才行。

      posted in 讨论区
      weijiz
      weijiz
    • 蓝鲸个人中心的使用

      为了方便大家使用小强,我们新增了蓝鲸个人中心的功能。通过这个软件用户可以方便的对小强 进行远程管理。比如查看硬件信息,CPU,内存的使用情况,修改文件和远程连接。
      在新版的蓝鲸ROS中已经包含了这个程序

      安装

      git clone http://randoms@git.bwbot.org/publish/BwbotCenter.git
      git checkout client
      virtualenv -p /usr/bin/python3 venv
      source venv/bin/activate
      pip install -r requirement.txt
      

      添加服务
      对于Ubuntu 14.04版本的系统把BwbotCenter文件夹内的bwbotcenter.conf复制至/etc/init内。然后把文件中的路径改成自己对应的路径。
      然后执行

      sudo service bwbotcenter start
      

      对于Ubuntu 16.04版本及以后版本的系统。在/usr/lib/systemd/system文件夹中创建一个bwbotcenter.service的文件,文件内容入下

      [Unit]
      Description=bwbot center daemon
      After=network.target
      
      [Service]
      WorkingDirectory=/home/randoms/Documents/ros/src/BwbotCenter
      ExecStart=/home/randoms/Documents/ros/src/BwbotCenter/start.sh
      Restart=always
      
      [Install]
      WantedBy=network.target
      

      在终端输入

      sudo systemctl enable bwbotcenter.service
      sudo systemctl start bwbotcenter start
      

      使用

      1. 注册
        在浏览器输入http://center.bwbot.org,在打开的页面中注册用户。

      0_1495624410209_QQ截图20170524191319.png

      1. 添加设备
        登录完成之后主界面如下图所示

      0_1495624582097_QQ截图20170524191524.png

      当然你可能没有这么多设备,下面就要添加自己的设备。首先要获取到自己的ID,获取方法可以参照这里。如果你安装了新版本的蓝鲸ROS,那么可以通过bwgetid来获取自己的ID。

      获取ID后右键点击设备列表0_1495625068702_QQ截图20170524192406.png

      然后选择添加设备,在弹出的添加设备对话框中输入自己的设备ID和类型
      0_1495625141275_QQ截图20170524192530.png

      完成后点击确认就可以了。添加完成的设备会显示在左侧菜单栏里面。

      1. 设备管理
        点击左侧刚添加的设备就可以看到可以进行的操作了。
        0_1495625484623_QQ截图20170524193107.png
        基本信息包含了设备的各种信息汇总。CPU和内存的使用情况的实时显示。硬盘的空间使用情况等等。
        文件管理可以通过这个软件对小强的文件进行添加修改等操作。
        远程连接会打开一个远程连接小强的ssh窗口。
        软件包管理会显示出小强上安装的各种软件包。(尚未开通)

      通过个人中心,我们可以在不需要知道小强IP的情况下对小强进行操作。使用起来非常方便。

      posted in 产品服务
      weijiz
      weijiz
    • 蓝鲸ROS中的自定义指令使用和安装

      在蓝鲸ROS中,添加了一些很有用的脚本指令。方便大家使用小强。

      1. bwupdate
        更新功能
        我们经常会发布小强的一些软件更新。以前只能手动更新,现在增加了一个自动更新的命令。
        在终端输入
      bwupdate
      

      输出如下图所示
      0_1495609846715_Screenshot from 2017-05-24 15-08-53.png
      这个程序会检查有没有可用的更新并更新本地程序。

      1. bwgetid
        获取用户ID信息
        在终端输入
      bwgetid
      

      终端会输出一长串字符,这个就是你的设备的ID。通过这个ID可以进行远程协助和设备管理的操作。

      1. fixudev
        修复串口udev规则。在使用过程中可能会出现udev规则被修改的情况。通过这个指令可以还原udev规则。
        在终端输入
      cd /home/xiaoqiang/Documents/xiaoqiang-cmds
      sudo ./fixudev
      

      提示修复成功就可以了。

      安装方法

      下载程序

      cd ~/Documents
      git clone http://git.bwbot.org/publish/xiaoqiang-cmds
      

      如果使用的是xq os 2那么需要checkout 到kinetic分支

      git checkout kinetic
      

      修改环境变量

      在 ~/.bashrc文件中添加

      export PATH=/home/xiaoqiang/Documents/xiaoqiang-cmds:$PATH
      alias sudo='sudo env PATH=$PATH'
      
      posted in 产品服务
      weijiz
      weijiz
    • autowifi 发布

      在第一次拿到小强时,必须连接到网络才能进行一系列的操作。而想要连接网络必须要给小强连接显示器。这对于很多用户来说是很不方便的事情。有了autowif就可以很好的解决这个问题了。

      手机端下载地址

      电脑端地址

      硬件要求

      有无线网卡

      安装方法

      1.电脑端安装
      在新版的蓝鲸ROS中已经安装完成,可以直接使用

      git clone http://randoms@git.bwbot.org/publish/autoWifi.git
      cd autoWifi
      virtualenv venv
      source venv/bin/activate
      pip install -r requirement.txt
      

      添加服务
      对于Ubuntu 16.04 及以后的系统,在/usr/lib/systemd/system文件夹创建autowifi.service。内容如下

      [Unit]
      Description=auto Wifi service daemon
      After=network.target
      
      [Service]
      WorkingDirectory=/home/randoms/Documents/ros/src/autoWifi
      ExecStart=/home/randoms/Documents/ros/src/autoWifi/start.sh
      Restart=always
      
      [Install]
      WantedBy=network.target
      

      注意把路径改成自己对应的路径

      启动服务

      sudo systemctl enable autowifi.service
      sudo systemctl start autowifi.service
      

      2.手机端安装
      下载安装最上面的那个apk就可以了。

      使用方法

      在电脑端运行autowifi的情况下。如果现在电脑端没有网络连接。我们就可以通过操作手机客户端,控制电脑端连接上无线网络。

      手机连接上想要电脑端连接的wifi。打开手机客户端,在输入框输入wifi密码

      0_1495609181816_Screenshot_2017-05-24-14-58-02-437_org.bwbot.autowifi.png

      0_1495609198791_Screenshot_2017-05-24-14-58-07-620_org.bwbot.autowifi.png

      等待大概几十秒就能连接成功了。

      注意:
      连接的时候要保证电脑和手机的wifi信号比较强,否则可能连接失败

      posted in 产品服务
      weijiz
      weijiz
    • 蓝鲸ROS测试版v1.0a发布

      发布时间: 2017-5-24 10:13:50

      下载地址

      part1
      part2

      MD5: 9b70cf95a73747396c2669b86ae24fe8

      这两个文件都是需要的,下载完成后再解压可以得到iso文件。
      下载完成之后一定要做一下md5的检查,确认文件完整性
      注意安装时的用户名只能是xiaoqiang,否则会有问题

      系统截屏展示

      0_1495592616564_Screenshot from 2017-05-24 10%3A15%3A30.png

      0_1495592628878_Screenshot from 2017-05-24 10%3A15%3A47.png

      0_1495592637771_Screenshot from 2017-05-24 10%3A17%3A21.png

      0_1495592646229_Screenshot from 2017-05-24 10%3A17%3A41.png

      0_1495592655499_Screenshot from 2017-05-24 10%3A18%3A06.png

      更新信息

      1. 增加AutoWifi功能,第一次使用时可以不连接显示器,直接设置小强的无线网络。具体使用可以参照这里。
      2. 增加蓝鲸个人中心功能。可以通过个人中心方便的对自己的设备进行控制。具体使用可以参照这里。
      3. 增加一些有用的指令,比如修复udev规则,自动更新,获取ID信息。具体使用可以参照这里。
      4. 设置用户更加友好的系统主题。
      5. 增加远程桌面功能。
      6. 修复一些bug。比如删除安装完成之后的残留文件。
      7. 整理系统内的文件结构。

      安装说明

      在虚拟机中安装

      打开虚拟机软件,这里使用的是Virtualbox。下载地址

      点击创建按钮,开始创建虚拟机

      0_1495594526247_QQ截图20170524104758.png

      按照图上设置,完成后点击下一步

      0_1495594567265_QQ截图20170524104821.png

      内存建议设置成2G,内存太小可能会导致无法启动

      0_1495594728592_QQ截图20170524105832.png

      0_1495594591195_QQ截图20170524104827.png

      0_1495594595755_QQ截图20170524104833.png

      0_1495594621541_QQ截图20170524104845.png

      设置完成后,点击上面的设置按钮。在弹出的对话框中选择存储。点击存储界面右侧的光盘图标设置镜像文件

      0_1495594640277_QQ截图20170524104941.png

      设置完成之后点击主界面的启动按钮。等待载入系统的选择界面。

      0_1495595021561_QQ截图20170524105031.png

      如果想要安装系统则选择第二个选项,之后按回车确认。
      等待系统安装程序载入,这个过程和你的机器性能相关,如果机器性能较差可能会载入较长时间。

      0_1495595514153_QQ截图20170524111138.png

      载入完成之后设置用户信息,注意用户只能是xiaoqiang, hostname可以随意设置。

      0_1495595659911_QQ截图20170524111410.png

      点击下一步进入分区界面。
      选中你要安装的硬盘,然后点击Delete按钮

      0_1495595742333_QQ截图20170524111500.png

      再次选择硬盘中的新分区

      0_1495595803274_QQ截图20170524111613.png

      点击箭头进入下一步

      0_1495595848336_QQ截图20170524111719.png

      再次选择刚才新建的分区
      设置右侧的Mount point,再次点击箭头进入下一步

      0_1495595948157_QQ截图20170524111846.png

      点击右下角的next就可以继续了。如果你还想设置其他分区可以按照以上的步骤进行设置。

      0_1495596017069_QQ截图20170524112010.png

      等待系统安装完成后重新启动就可以了。

      在实际的电脑上安装

      安装过程和一般的安装Ubuntu是一样的。下面介绍一下如何用U盘安装系统。
      首先你要在自己的硬盘上准备一个空白的分区用来安装系统。
      然后下载ultroiso软件。 下载地址
      在电脑上插入自己的U盘。
      用软件打开iso文件。在菜单栏中选择启动 -> 写入硬盘镜像,弹出界面如下

      0_1495596681353_QQ截图20170524113112.png

      点击写入,等待写入完成。

      写入完成之后,把U盘插入想要安装系统的电脑上。启动时进入BIOS选项,选择从U盘启动。后面的安装过程就基本上是一样的了。

      注意在分区的时候,要给boot单独的分区,然后选择下面的grub安装位置。否则系统安装完成后是无法启动的。对于不同的启动方式分区也有些不同。以grub方式启动的要给/boot单独分区,以uefi方式启动的要给/boot/efi单独分区

      posted in 产品服务
      weijiz
      weijiz
    • 解决systemback 无法生成超过4G的iso的问题

      systemback是一个很好的备份还原软件。用它还可以生成自己的linux系统镜像文件。但是在使用时会发现当生成的sblive文件大于4G的时候是没有办法生成iso文件的。这是由于iso文件自身的限制,iso9600对于文件有限制,单个文件不能超过2G,总的iso文件不能超过4G。

      但是我们经常见到的系统安装iso文件很多都是超过4G的。这是怎么回事呢。经过我的苦苦搜索终于找到了一点线索。对于大于4G的可以采用udf文件系统。下面就是具体的解决方法了。

      1. 解压 .sblive 文件:
      mkdir sblive
      tar -xf /home/systemback_live_2016-04-27.sblive -C sblive
      
      1. 重命名 syslinux 至 isolinux:
      mv sblive/syslinux/syslinux.cfg sblive/syslinux/isolinux.cfg
      mv sblive/syslinux sblive/isolinux
      
      1. 安装 cdtools
      aria2c -s 10 https://nchc.dl.sourceforge.net/project/cdrtools/alpha/cdrtools-3.02a07.tar.gz
      tar -xzvf cdrtools-3.02a07.tar.gz
      cd cdrtools-3.02
      make
      sudo make install
      
      1. 生成 ISO 文件:
      /opt/schily/bin/mkisofs -iso-level 3 -r -V sblive -cache-inodes -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o sblive.iso sblive
      

      这样就可以了,估计当文件大于4G的时候程序会自动采用udf文件系统,所以可以成功创建iso文件。

      posted in 技术交流
      weijiz
      weijiz
    • apt-get install 下载太慢怎么办,用apt-fast!

      默认的apt-get install 有时候会下载非常慢,尤其是添加的一些ppa,这时候你就需要apt-fast这个软件了。
      apt-fast 通过使用多线程下载来给apt-get 提速。经过测试效果出奇的好。
      下面是安装方法

      添加软件源并安装

      sudo add-apt-repository ppa:apt-fast/stable
      sudo apt-get update
      sudo apt-get -y install apt-fast
      

      使用

      在弹出的对话框中选择apt-get。安装完成之后使用方法和apt-get 是一样的。比如安装python3.5

      sudo apt-fast install python3.5
      

      这样就可以了。注意可能会弹出选项让你确认是否安装,选择是就可以了。
      这个项目的地址https://github.com/ilikenwf/apt-fast

      posted in 技术交流
      weijiz
      weijiz
    • Ubuntu 14.04安装和使用python3.5

      python3.5增加了很多非常棒的特性,比如协程。用起来很好,但是Ubuntu 14.04系统默认的源里面并没有包含。
      下面是Ubuntu 14.04 python3.5的安装方式

      添加源

      sudo add-apt-repository ppa:fkrull/deadsnakes
      

      安装

      sudo apt-get update
      sudo apt-get install python3.5
      

      使用

      网上很多的安装教程是把python3.5替换成系统默认的python环境。这样并不好。可能会引起系统的问题。
      推荐的使用方法是用virtualenv

      安装virtualenv

      sudo apt-get install python-virtualenv
      

      使用virtualenv

      在你的代码文件夹内执行

      virtualenv -p /usr/bin/python3.5 venv
      

      这样会在当前路径下创建一个venv的文件夹,执行下面的指令

      source venv/bin/activate
      

      0_1494558117617_Screenshot from 2017-05-12 11:01:51.png
      这时候终端的前面会多出一个venv的字符。这说明已经进入python的虚拟环境了。在这里安装的python包不会对系统产生影响,反之系统的包也不会对当前环境产生影响。注意一定不能用sudo pip install xxxx来安装python包。这样会安装到系统里面去。直接pip instal xxxx就可以了。

      posted in 技术交流
      weijiz
      weijiz
    • ubuntu 安装VNC 服务

      在用Ubuntu的时候经常需要远程桌面连接,最常用的软件就是VNC。VNC是一个开放的协议,实现的客户端有很多。但是比较各个实现之后,目前最好的就是x11vnc。这个程序不仅不收费,是开源的,而且还支持opengl程序。比如rviz之类的程序也可以正常打开了。

      小强镜像中默认已经安装好了x11vnc,如果你使用小强主机或镜像,那么可以直接跳过安装过程。按照访问服务的说明进行操作。

      下面介绍一下安装方法。下面是以Ubuntu 14.04为例子,如果是16.04及以后版本要对服务配置文件做对应修改。

      安装x11vnc

      sudo apt-get install x11vnc -y
      

      设置访问密码

      sudo x11vnc -storepasswd /etc/x11vnc.pass 
      

      创建服务文件

      在/etc/init 下创建一个x11vnc.conf的文件,文件内容如下

      description "xiaoqiang vnc server"
      start on runlevel [2345]
      stop on runlevel [06]
      
      script
          exec /usr/bin/x11vnc -auth guess -capslock -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
      end script
      

      启动服务

      sudo service x11vnc start
      

      访问服务

      下载一个vnc客户端,比如从这里下载
      打开客户端
      输入目标IP
      0_1494494926161_QQ截图20170511172718.png
      连接后输入密码
      0_1494494976059_QQ截图20170511172925.png
      之后就可以正常连接了。

      对于16.04版本和更新版本的Ubuntu,
      可以按照这个文件的方法进行配置
      https://github.com/longhr/ubuntu1604hub/blob/master/ubuntu1604VNC.sh

      注意安装完成之后在不插显示器使用rviz时还是会报错。这时候插上hdmi转vga的转接头(不接显示器,只是转接头)就可以打开正常使用了。如果想要调整分辨率可以像正常电脑设置分辨率一样,在设置里面进行调整

      对于20.04系统和16.04里面的创建方式基本一致,但是服务文件要做稍许变动

      [Unit]
      Description=Start x11vnc at startup.
      After=multi-user.target
      [Service]
      Type=simple
      ExecStart=/usr/bin/x11vnc -auth /run/user/1000/gdm/Xauthority -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
      [Install]
      WantedBy=multi-user.target
      

      而且在用户没有登录的情况下vnc无法远程。

      posted in 技术交流
      weijiz
      weijiz
    • RE: 使用systemback制作Ubuntu自定义系统镜像和系统备份

      在备份过程中可能提示

      The restore point creation is aborted!
      There has been critical changes in the file system during this operation
      

      这并不一定是由于系统发生了严重的更改,只要是在复制文件的过程中出现错误都会出现这个信息。
      详细的错误信息可以通过

      systemback-sustart
      

      这个指令去调试,看看具体哪一个文件复制出了问题。极有可能的是权限问题。
      也可以通过这个指令去调试

      DBGLEV=3 systemback-sustart
      

      当错误出现后会在/tmp文件夹下创建一个systemback的错误信息文件。可以方便的通过这个文件去找到错误的原因。

      posted in 技术交流
      weijiz
      weijiz
    • 1
    • 2
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 31 / 36