Alios-Things的学习与使用

1.简介

AliOS Things发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统,于2017年10月20号宣布在github上开源。

AliOS Things 支持多种CPU架构,包括:ARM,C-Sky,MIPS,rl78,rx600,xtensa等。同时AliOS Things也支持相当多的开发板。

以下简称 alios , 其支持接入阿里的飞燕平台,拥有从设备功能定义、开发调试、设备加密、云端开发、APP开发、运营管理、数据统计等,覆盖从前期开发到后期运营的全生命周期。最重要的是,支持接入多种物联网平台,包括阿里智能天猫精灵、亚马逊云、Google Home音箱控制;

1.1 为什么要学alios-Things

前面已经提到了,其支持的阿里飞燕平台,提供了从设备功能定义、开发调试、设备加密、云端开发、APP开发、运营管理、数据统计等,覆盖从前期开发到后期运营的全生命周期。平台具有高稳定、高并发、高安全、强生态的特点。

综上所述,对于一些中小企业公司来说,可以免去搭建硬服务器这块硬伤,因为做好一个服务器,考虑到均衡负载、高并发的稳定性,考虑到大数据统计,以及全球部署,维护起来都是很大的一笔费用。

因此,接入阿里的飞燕平台是个不错的选择。其由我们的阿里云服务器支持,有我们的淘宝、支付宝等支持,对于国内确实是个不错的选择第三方平台。既然阿里飞燕平台这么强大,那么阿里也是提供了嵌入式开发系统Alios-Things,目前一直在增加支持更多的芯片,包括大家熟悉的 stm32、庆科的 3080,当然啦,还有乐鑫的 esp8266和esp32,都一直在适配中。后续我会教大家怎么移植底层外设的教程。

2. 环境搭建

在win10上安装docker

2.1 使用docker toolbox安装docker

对于windows用户来说,使用docker toolbox来安装docker是最简单的方式。

首先需要检查系统是否符合要求

并且要开启硬件虚拟化的技术

下载dockertool

https://docs.docker.com/toolbox/toolbox_install_windows/

安装完成会有下面的图标

点击第二个

首先确定有boot2docker这个文件

然后打开一个bash

执行下面的语句

docker-machine.exe create --driver virtualbox --virtualbox-boot2docker-url=boot2docker.iso default

最后打开

Docker Quickstart Terminal

2.2 测试使用dockder

输入

docker run hello-world

3.使用docker引擎在容器中运行镜像

我们可以到Docker Hub上获取别人的docker镜像

https://hub.docker.com/r/docker/whalesay

获取代码

docker pull docker/whalesay

运行程序

docker run docker/whalesay cowsay boo

whalesay程序是让鲨鱼说话

docker run docker/whalesay cowsay hello-jinjin

查看docker镜像

docker images

3.1 在docker中运行自己编写的镜像

在这里我们使用一个简单的操作,让鲨鱼自己说话

FORM 关键字告诉Docker我们的镜像将基于哪一个镜像。这个的意思是说我们即将创建的镜像将给予whalesay镜像

fortunes程序有一个用来打印出一些话的命令,可以用来作为我们的whale说出的话。所以,首先我们需要先安装fortunes。

RUN apt-get -y update && apt-get install -y fortunes

这一行命令使用的是apt-get程序来下载和安装fortunes.

新添加的这一行告诉fortune程序输出它的结果作为输入给cowsay程序(管道)

在终端中运行 docker build -t docker-whale . 命令(注意最后有一个点‘.’,表示Dockerfile文件在当前的目录下),这条命令的意思是利用当前目录下的Dockerfile来创建一个叫做docker-whale的镜像 。

查看运行效果

4. 在vscode上安装alios-studio

2、安装alios-things的docker镜像

方法A:

 有能力的同学可以参考我在github给出的dockerfile文件(当然也可以不参考),自己搭建一个docker镜像

https://github.com/lanjackg2003/alios-things-docker.git

方法B:

 直接从dockerhub服务器通过pull方式获取我编译好的镜像,方法如图2

https://hub.docker.com/r/jacklan/alios-things-docker

docker pull jacklan/alios-things-docker

完成后效果如下:

到这里,Windows上环境已经搭建完成。

5. 代码编译

下面clone alios-thing代码

git clone https://github.com/alibaba/AliOS-Things

下载完成要很久,现在已经很晚了。先休息。明天继续

Alios-Things的学习与使用(1)的更多相关文章

  1. 英特尔、联发科、展讯等开始支持开源的物联网轻量化操作系统AliOS Lite

    操作系统AliOS Lite Chaos 12-21 11:03 在 12 月 20 日的云栖大会北京峰会上,阿里宣布即将开源 AliOS Lite,此前面向 IoT 领域的轻量级物联网嵌入式操作系统 ...

  2. 为你的AliOS Things应用增加自定义cli命令

    摘要: 怎么才能在RTOS系统中,通过 串口shell控制LED的开关. 在日常嵌入式开发中,我们经常会用串口命令来使设备进入某种特定的状态,或执行某个特定的操作.如系统自检,模拟运行,或者进入手动模 ...

  3. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  4. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  5. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  6. 消息队列——RabbitMQ学习笔记

    消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...

  7. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  8. Unity3d学习 制作地形

    这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...

  9. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

随机推荐

  1. PHP学习总结(12)——PHP入门篇之变量

    一.什么是变量 变量是用于存储值的,我们命令服务器去干活的时候,往往需要产生一些数据,需要临时性存放起来,方便取用.我们也可以理解为,变量就像一个购物袋,我们可以用来装苹果.榴莲(当然也可以用来装玫瑰 ...

  2. ReentrantLock(排他锁)

    在多线程操作时.保证一块共享资源的原子性.第一想到的就是用synchronized关键字 在jdk5提供一个更灵活更强大的 ReentrantLock 使用reentrantLock.lock();获 ...

  3. 《编程导论(Java)&#183;2.1.2 啊,我看到了多态》-什么是多态(polymorphism)

    1.不明觉厉 很多人学习多态时,会认为. 之所以不明觉厉,由于多态的定义:事物存在的多种表现形态:而后,有人将重载(overload).改写(override).多态变量和泛型归结于同一个术语&quo ...

  4. 关于Java特种兵下冊

    <Java特种兵 下冊>这本书一直没出.至上冊出版近1年以来,每周会有非常多小伙伴发私信或邮件问起我下冊出版的事情,纵使眼下有非常多无奈,小胖还是初步决定准备写下冊. 下冊内容(下冊的内容 ...

  5. @RequiresPermissions 注解说明

    @RequiresAuthentication验证用户是否登录,等同于方法subject.isAuthenticated() 结果为true时.@RequiresUser验证用户是否被记忆,user有 ...

  6. vim下很好的右键复制方法

    1)先按shift ,然后鼠标选中即可复制:(shift按下时为非vim环境) 2)好方法: "Enable and disable mouse use noremap <f1> ...

  7. (转)android res文件夹里面的drawable(ldpi、mdpi、hdpi、xhdpi、xxhdpi)

    android res文件夹里面的drawable(ldpi.mdpi.hdpi.xhdpi.xxhdpi) (1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),F ...

  8. 深度学习将会变革NLP中的中文分词——TODO 待好好细看

    见:https://www.leiphone.com/news/201608/IWvc75oJglAIsDvJ.html TODO 待好好细看

  9. java中 抽象类和抽象方法

    在面向对象中,所有的对象都是由类来描绘的,但是并不是所有的类都用来描绘对象的,当一个类并不能包含完整的信息来描绘一个具体的对象时,我们把这个类称为抽象类.抽象类除了不完整的描述一个对象之外,其他的功能 ...

  10. 洛谷P2607 [ZJOI2008]骑士(树形dp)

    题目描述 Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬. 最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火绵延五百里, ...