Microsoft Hololens开发上手(2)
昨天的那篇文章引起了不小的追捧,主要追捧的同学都感叹这个东西太贵,当然对未来孜孜不倦的追求是it民工的人生目标。还有一些同事说既然都开头了,怎么也不写个hello world。其实hello world的程序在最后一张截图里,我加了名字,时间,内嵌广告,这样就算被抄了也能看出是几几年写的,不会让某些神经脆弱的同学又感慨人生。
废话不表,昨天那个Hello World的程序很简单,打开Visual Studio 创建一个UWP程序,创建完了以后拖几个Control上去,我这里放了一个text box,一个web view。textbox里面说了几句废话,webview访问了鄙公司拳头产品云舶:www.yunboard.net。
编译部署的流程是这样的。选择Release,x86,编译目标可以是模拟器,也可以是真机。真机调试需要首先打开Hololens的开发模式,在设置->更新->开发者里面,首先打开开发模式,然后打开设备管理器,这样就可以用浏览器来监控hololens的状态了。
在Visual Studio里面可以选择Remote Machine,开始部署。输入127.0.0.1,如果是第一次部署,还需要输入Pin,到刚才那个打开hololens开发模式的地方获取。
然后你的程序就愉快地跑起来了,是这个样子的。
注意到工具栏上有滚动,拖动,放大缩小等功能,还有调整位置,基本上就是windows上的窗口拖拽,放大缩小,不过比windows多了一个角度宣传,谁让他是3d的呢。窗口会自动附着在一个平面上,也就是我面前的墙壁上。整个窗口没有最大化的按钮,所有的操作都可以用语音来控制,非常简单。
我们有2种方式来看Hololens的Device Portal, 一种是直接Wifi模式,用https://hololens的ip,另外一种是通过usb,访问https://127.0.0.1:10080。可以打开配置页面,了解hololens的各种信息,比如视角,性能,系统等等,包括可以设置访问证书,密码,当前运行的进程,日志。具体可以访问https://developer.microsoft.com/en-us/windows/holographic/using_the_windows_device_portal了解详情。
值得一提的是Hololens Device Portal里所有的功能都支持Rest API,可以通过代码的方式管理Hololens,这对开发而言方便了很多,具体说明在https://developer.microsoft.com/en-us/windows/holographic/device_portal_api_reference。不过认证部分完全没提到,不加认证的话会拿到一个403错误。我给hololens设置了密码,所以HTTP的请求需要加认证头,但是这个认证头怎么拿到却没有说明。不过这难不倒IT老屌丝,用Fiddler抓一个简单的HTTP包,就可以发现某个http request有一个Authorization头,使用Basic验证模式和一串credential。要复习一下http协议的同学可以参考http协议1.1 (RFC2616) 14.8节Authorization的部分 https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html ,具体加密方式和方法请参考HTTP Authentication: Basic and Digest Access Authentication(http://www.ietf.org/rfc/rfc2617.txt)。
Authorization: Basic aG90Y2FuOlVzZXJAMTIz
市面上有很多用来测试Rest API的工具,我在Chrome里面直接用了一个叫Insomania的东西,比如说我调用这个http://127.0.0.1:10080/api/networking/ipconfig来获取hololens的网络信息。返回就是一串Json格式的信息:
{"Adapters": [{"Description": "Bluetooth Device (Personal Area Network)","HardwareAddress": "b4-ae-2b-be-ff-97","Index": 4,"Name": "{39A74CEF-9AFF-46D4-AF65-5E25DED69711}","Type": "Ethernet","DHCP": {"LeaseExpires": 0,"LeaseObtained": 0,"Address": {"IpAddress": "","Mask": ""}},"Gateways": [{"IpAddress": "0.0.0.0","Mask": "255.255.255.255"}],"IpAddresses": [{"IpAddress": "0.0.0.0","Mask": "0.0.0.0"}]},{"Description": "Broadcom 802.11ac Wireless PCIE Full Dongle Adapter","HardwareAddress": "b4-ae-2b-be-ff-96","Index": 6,"Name": "{5F3FDFA6-C33B-40D2-913F-4E191047A138}","Type": "IEEE 802.11","DHCP": {"LeaseExpires": 1466732947,"LeaseObtained": 1466722147,"Address": {"IpAddress": "192.168.12.1","Mask": "255.255.255.255"}},"Gateways": [{"IpAddress": "192.168.12.1","Mask": "255.255.255.255"}],"IpAddresses": [{"IpAddress": "192.168.13.148","Mask": "255.255.252.0"}]}] }
在API里面看到一个很有趣的方法,叫做/api/holographic/stream/live.mp4 (GET),可以把hololens上看到的东西streaming到电脑上来。调试方法很简单, 直接打开chrome,输入http://127.0.0.1:10080/api/holographic/stream/live_high.mp4,直接可以在电脑上看到hololens里面看到的东西。
还可以去读一些硬件信息,例如电池信息:
http://127.0.0.1:10080/api/power/battery(GET)
返回结果是电池信息,总共16208mWh,还能运行
{
"AcOnline": 1,
"BatteryPresent": 1,
"Charging": 0,
"DefaultAlert1": 0,
"DefaultAlert2": 1620,
"EstimatedTime": 4294967295,
"MaximumCapacity": 16208,
"RemainingCapacity": 15701
}
有了Rest API,就意味着这个硬件设备是完全可编程的,可以全自动进行管理,这和IoT的概念也是完全一样的,并且可以远程设置和管理。昨天和今天的内容都是hololen的基础理解,开发和传统Windows 开发并没有什么不同,明天我们开始针对Hololens的一些传感器,利用Unity进行编程。这种交互的变化导致了程序设计思路的大幅改变,也能够把计算机应用带到一个全新的阶段。
Microsoft Hololens开发上手(2)相关推荐
- Microsoft Hololens开发上手(4)
磨刀不误砍柴功,我们总有一些小工程师,不了解全貌,不好好思考,上手就开始写代码,这种做法是非常不可取的.对于Hololens的开发也是一样.今天我们来重点看看Hololens里面的一些概念,比如Hol ...
- Microsoft HoloLens开发入门
来源:游戏蛮牛 第一部分:开发要求 Hololens 运行与Win10,应用程序是与UWP(通用windows开发平台)构建的,开发Hololens 这样的全息体验对电脑的配置要求也是相当高的. 硬件 ...
- 安装Microsoft Hololens开发环境
硬件要求: 64位cpu 8G内存或以上 BIOS设置虚拟化,SLAT, DEP. DirectX 11.0或以后 WDDM 1.2或以后 Windows 10 专业版, 企业版,教育版 不满足以上条 ...
- Microsoft HoloLens 入华一周年,都有哪些进展?
2018年5月18日,北京--微软举办Microsoft HoloLens暨混合现实入华一周年活动,携手来自建筑设计.医疗健康.汽车制造及教育行业的商业用户及合作伙伴,共同讲述了Microsoft H ...
- HoloLens开发手记 - HoloLens shell概述 HoloLens shell overview
使用HoloLens时,shell是由你周围的世界和来自系统的全息图像构成.我们将这种空间成为混合世界(mixed world). shell包含了一个可以让你将全息图像和应用放置在世界中的开始菜单( ...
- HoloLens开发手记-配置开发环境 Install the tools
随着Build 2016开发者大会的结束,HoloLens开发包也正式开放下载.Hololens没有独立的SDK,开发特性被集成到最新的Visual Studio Update 2中.如果你没有Hol ...
- HoloLens开发手记 - 使用HoloLens模拟器 Using HoloLens emulator
首先下载HoloLens模拟器 HoloLens模拟器运行在没有真机的情况下在你的PC上测试应用,属于HoloLens开发工具系列.模拟器使用了Hyper-V虚拟机.通常通过传感器获取的人体和环境输入 ...
- HoloLens开发学习笔记(一):HoloLens简介
HoloLens开发学习笔记(一):HoloLens简介 一.HoloLens简介 Microsoft HoloLens是Windows Holographic的使用主要设备.HoloLens是一个W ...
- Hololens开发笔记
官网的开发配置:https://docs.microsoft.com/en-us/windows/mixed-reality/develop/install-the-tools?tabs=unity ...
最新文章
- 《拥抱变化——社交网络时代的企业转型之道》一构筑社会信任
- XCTF easyCpp buu [MRCTF2020]EasyCpp
- Mysql学习总结(10)——MySql触发器使用讲解
- 2021龙岩一中高考成绩查询,喜报!2020年高考成绩已经揭晓,龙岩这七所一中,看看有没有你的母校!...
- 前端工具:推荐几款UI设计师好用的设计软件
- 边学边写,琐碎记载oracle
- 计算机管理3d设置在哪,NVIDIA控制面板设置方法(图解)
- C 什么是句柄?为什么会有句柄?HANDLE
- ym——android源码大放送(实战开发必备)
- 系统辨识工具箱使用指南
- 固态和机械硬盘组raid_相同大小的固态硬盘和机械硬盘组RAID1会不会影响固态硬盘的速度?...
- 用python在大麦网抢票_大麦网抢票工具系列(一)
- python安装包提示error: option --single-version-externally-managed not recognized
- 用python实现弹跳球游戏_使用Pygame模块制作一个跳跃的小球游戏
- SpringCloud(13)之微服务的现状和未来
- 非走不可的弯路[张爱玲]
- 【卢森堡大学】年薪55W+RMB,计算机科学副研究员(博士后),low code 机器学习研究...
- ubuntu是linux家族中的祸害
- Algorand以2.4美元结束首轮拍卖,为私募价48倍
- 视频教程-photoshop cc2017全套视频课程 从基础到实战案例PS海报-Photoshop