Windows 10平台引入了AllJoyn开源软件框架,它提供了一组服务可以创建动态近端网络,让设备可以相互连接实现功能交互。目前,AllJoyn开源软件框架由AllSeen联盟负责管理。AllSeen联盟的成员都是业界的领导厂商,如微软、索尼、LG、Qualcomm、松下、夏普、思科、海尔等。AllJoyn目的是为物联网设备的彼此互通建立一个开放性的标准,它提供了各种平台的支持,包含:Windows、iOS、Android、Linux、OS X。开发语言则支持:C、Java、Objective-C、JavaScript。本文以树莓派为例,详细介绍如何利用Windows 10 IoT Core设备来制作一个基于AllJoyn的流媒体播放器,并利用iOS和Android应用来进行远程控制和播放。

1. 硬件准备

  • 树莓派(2代或者3代),系统版本在10586以上。注意,树莓派2代没有板载的WiFi功能,需要外加WiFi模块。
  • 3.5mm接口的音响。注意,由于Windows 10 IoT Core并没有提供HDMI输出的音频,所以需要在树莓派板载的3.5mm音频接口输出音频。
  • 显示器(可选),并不是必须。

2. 应用程序部署

这里给出appx应用程序包的下载,链接。用户可以通过Windows Device Portal来部署,具体方法如下:

首先,给树莓派通电,然后通过以太网或者WiFi加入局域网。

接着,在PC上使用浏览器访问http://IP:8080,其中的IP就是树莓派的局域网IP地址。输入用户名和密码,默认为Administrator和p@ssw0rd

然后,在侧边栏中选择Apps->Apps Manager,如下图所示。

在其中的Install App中,选择下载的文件,其中App Package选择“AllPlayMediaPlayer_1.0.0.0_arm.appxbundle”文件,Certificate选择下载文件中的“AllPlayMediaPlayer_1.0.0.0_arm.cer”文件,Dependency选择下载文件夹Dependency/ARM目录下的所有文件。如下图所示。

然后点击Deploy下的Go按钮,开始部署。经过一段时间以后,部署完成。用户可以通过Apps目录查找应用程序是否已经安装。如果成功安装,则可以看到AllPlay MediaPlayer应用,并可以通过下拉菜单来启动该应用,如下图所示。

之后,应用程序启动,如果用户给树莓派连接了显示器,就可以看到应用程序的界面,如下图所示。

应用程序界面主要显示播放的内容和进度。

3.控制端应用程序

目前,能够从App Store下载到的应用包括AllPlay RadioAllPlay JukeBoxPanasonic Music StreamingMonster Soundstage。可以为Andorid下载的程序包括AllPlay RadioAllPlay JukeBoxPanasonic Music Streaming。下面以iOS的应用AllPlay Radio为例,讲述如何利用该应用程序进行远程控制。

首先,打开应用程序以后,选择菜单,就可以看到各种资源,如下图所示。

  

选择资源以后,应用程序会播放相应的内容。如下图所示。

4. 问题调试

在Windows应用商店可以下载到IoT Explore for AllJoyn和AllJoyn Device Dashboard,可以用来检测树莓派应用是否已经正常启动。如下图所示。

如果已经正常启动,可以在应用中看到树莓派给外部应用的AllJoyn接口,如下图所示。

如果没有看到该服务,则说明树莓派和当前的设备不在同一个局域网,或者应用程序没有启动。

最后来一张实物图吧,good day~~

Windows 10 IoT Serials 7 – 如何用树莓派制作家庭流媒体播放器的更多相关文章

  1. Windows 10 IoT Serials 5 - 如何为树莓派应用程序添加语音识别与交互功能

    都说语音是人机交互的重要手段,虽然个人觉得在大庭广众之下,对着手机发号施令会显得有些尴尬.但是在资源受限的物联网应用场景下(无法外接鼠标键盘显示器),如果能够通过语音来控制设备,与设备进行交互,那还是 ...

  2. Windows 10 IoT Serials 4 - 如何在树莓派上使用Cortana语音助手

    从Windows 10 IoT Core 14986版本开始,微软已经加入Cortana语音助手功能.之前,我们只能使用本地语音识别,需要编写应用程序,下载到设备中才能实现.从现在开始,微软已经从系统 ...

  3. Windows 10 IoT Serials 2 - Windows 10 IoT RTM 升级教程

    7月29日,微软推出了Windows 10 for PC的正式版,其版本号是Build 10240.近两天官方说已经有4700万的下载安装量,同时这个数字还在不断攀升.另外,除了Windows 10 ...

  4. Windows 10 IoT Serials 3 - Windows 10 IoT Core Ardunio Wiring Mode

    Maker社区和智能硬件的朋友一定知道Arduino,很多3D打印机都是用它做的.为了迎合这一大块市场,微软在基于Intel Galileo的Windows 8.1 IoT中就是使用这种基于Ardui ...

  5. Windows 10 IoT Serials 1 - 针对Minnow Board MAX的Windows 10 IoT开发环境搭建

    目前,微软针对Windows IoT计划支持的硬件包括树莓派2,Minnow Board MAX 和Galileo (Gen 1和Gen 2).其中,Galileo (Gen 1和Gen 2)运行的是 ...

  6. Windows 10 IoT Serials 9 – 如何利用IoTCoreAudioControlTool改变设备的音频设备

    大家知道,在Windows 10 IoT Core上,如果用户外接了USB声卡.带有麦克风的摄像头之类的硬件,就会有多个音频设备可以用.但是,系统目前并没有提供直接的UI来设置音频的输入或者输出设备. ...

  7. Windows 10 IoT Serials 6 - 如何修改IoTStartupOnBoot.cmd文件

    使用Windows 10 IoT Core系统的朋友应该会比较熟悉IoTStartupOnBoot.cmd文件,该文件是系统启动以后加载的批处理文件,一般会包含应用.服务和后台的启动,比如WinRM. ...

  8. Windows 10 IoT Serials 8 – 如何改变UWP应用的目标平台

    Windows Insider计划直接加速了Windows系统的迭代,缩短了系统发布的周期.就Windows 10 IoT Core而言,迭代的速度和Windows 10 for PC.Windows ...

  9. Windows 10 IoT Serials 10 – 如何使用OCR引擎进行文字识别

    1. 引言 OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗.亮的模式确定其形状,然后用字符识别方 ...

随机推荐

  1. 通过数组方式向Oracle大批量插入数据(10万条11秒)

    1.创建数据库Person CREATE TABLE Person( id number, name nvarchar2() , age number , sex nvarchar2() , pass ...

  2. jquery在Asp.net下实现ajax

    前台代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AjaxTest ...

  3. 睡不着,复习一下C++基础中的基础(深拷贝与浅拷贝)

    #include <iostream> #include <string> #include <assert.h> using namespace std; //声 ...

  4. Android 如何保证service在后台不被kill

    Android 其实无法做多绝对的不被后台kill掉,我们只能尽量使用一些操作提升不被kill的机会. 一.onStartCommand方法,返回START_STICKY   START_STICKY ...

  5. simple-spa 一个简单的单页应用实例

    上两篇文章说过要写一个简单的单页应用例子的, 迟迟没有兑诺, 实在有愧 哈哈.这篇写给小白用户哈. 正好趁今天风和日丽,事情不多, 把从项目里的代码扣取了一下, 整理了一个简单的例子.因为我们生产项目 ...

  6. Dynamics CRM 2015-Custom Workflow Activity

    CRM的Workflow给我们的流程处理带来不少便利,但是这种自带的Workflow并不是万能的,中间某一step不能支持,往往会牵一发而动全身,可能造成整个Workflow Steps的重新设计.幸 ...

  7. java初级开发程序员(第三单元)

    1.if基本选择结构: 语法: if(条件){     //程序执行时,先判断条件.当结果为true(真)时,程序先执行大括号的代码块,再执行if结构(即{}部分)后面的代码.当结果为false(假) ...

  8. java初级开发程序员(初识java)

    据我们老师讲说:“学习java高级语言,每个程序员最初写的一个程序就是helloword,向世界打招呼! public class HelloWord{   //必须和文件名相同 public sta ...

  9. 剑指offer编程题Java实现——二维数组中的查找

    题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.   下面是我实现的代码 ...

  10. css3瀑布流

    css3虽然可以实现,不过要是真的运用到项目中还是老老实实写js吧 .container{ /*列的宽度*/ column-width:160px; -webkit-column-width:160p ...