昨天的那篇文章引起了不小的追捧,主要追捧的同学都感叹这个东西太贵,当然对未来孜孜不倦的追求是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)相关推荐

  1. Microsoft Hololens开发上手(4)

    磨刀不误砍柴功,我们总有一些小工程师,不了解全貌,不好好思考,上手就开始写代码,这种做法是非常不可取的.对于Hololens的开发也是一样.今天我们来重点看看Hololens里面的一些概念,比如Hol ...

  2. Microsoft HoloLens开发入门

    来源:游戏蛮牛 第一部分:开发要求 Hololens 运行与Win10,应用程序是与UWP(通用windows开发平台)构建的,开发Hololens 这样的全息体验对电脑的配置要求也是相当高的. 硬件 ...

  3. 安装Microsoft Hololens开发环境

    硬件要求: 64位cpu 8G内存或以上 BIOS设置虚拟化,SLAT, DEP. DirectX 11.0或以后 WDDM 1.2或以后 Windows 10 专业版, 企业版,教育版 不满足以上条 ...

  4. Microsoft HoloLens 入华一周年,都有哪些进展?

    2018年5月18日,北京--微软举办Microsoft HoloLens暨混合现实入华一周年活动,携手来自建筑设计.医疗健康.汽车制造及教育行业的商业用户及合作伙伴,共同讲述了Microsoft H ...

  5. HoloLens开发手记 - HoloLens shell概述 HoloLens shell overview

    使用HoloLens时,shell是由你周围的世界和来自系统的全息图像构成.我们将这种空间成为混合世界(mixed world). shell包含了一个可以让你将全息图像和应用放置在世界中的开始菜单( ...

  6. HoloLens开发手记-配置开发环境 Install the tools

    随着Build 2016开发者大会的结束,HoloLens开发包也正式开放下载.Hololens没有独立的SDK,开发特性被集成到最新的Visual Studio Update 2中.如果你没有Hol ...

  7. HoloLens开发手记 - 使用HoloLens模拟器 Using HoloLens emulator

    首先下载HoloLens模拟器 HoloLens模拟器运行在没有真机的情况下在你的PC上测试应用,属于HoloLens开发工具系列.模拟器使用了Hyper-V虚拟机.通常通过传感器获取的人体和环境输入 ...

  8. HoloLens开发学习笔记(一):HoloLens简介

    HoloLens开发学习笔记(一):HoloLens简介 一.HoloLens简介 Microsoft HoloLens是Windows Holographic的使用主要设备.HoloLens是一个W ...

  9. Hololens开发笔记

    官网的开发配置:https://docs.microsoft.com/en-us/windows/mixed-reality/develop/install-the-tools?tabs=unity ...

最新文章

  1. 《拥抱变化——社交网络时代的企业转型之道》一构筑社会信任
  2. XCTF easyCpp buu [MRCTF2020]EasyCpp
  3. Mysql学习总结(10)——MySql触发器使用讲解
  4. 2021龙岩一中高考成绩查询,喜报!2020年高考成绩已经揭晓,龙岩这七所一中,看看有没有你的母校!...
  5. 前端工具:推荐几款UI设计师好用的设计软件
  6. 边学边写,琐碎记载oracle
  7. 计算机管理3d设置在哪,NVIDIA控制面板设置方法(图解)
  8. C 什么是句柄?为什么会有句柄?HANDLE
  9. ym——android源码大放送(实战开发必备)
  10. 系统辨识工具箱使用指南
  11. 固态和机械硬盘组raid_相同大小的固态硬盘和机械硬盘组RAID1会不会影响固态硬盘的速度?...
  12. 用python在大麦网抢票_大麦网抢票工具系列(一)
  13. python安装包提示error: option --single-version-externally-managed not recognized
  14. 用python实现弹跳球游戏_使用Pygame模块制作一个跳跃的小球游戏
  15. SpringCloud(13)之微服务的现状和未来
  16. 非走不可的弯路[张爱玲]
  17. 【卢森堡大学】年薪55W+RMB,计算机科学副研究员(博士后),low code 机器学习研究...
  18. ubuntu是linux家族中的祸害
  19. Algorand以2.4美元结束首轮拍卖,为私募价48倍
  20. 视频教程-photoshop cc2017全套视频课程 从基础到实战案例PS海报-Photoshop

热门文章

  1. vue打印props的值_关于Vue中props的详解
  2. 以太坊的合并四大支柱重振生态信心
  3. TI SAE J1772兼容电动汽车充电器参考设计TIDA-010071
  4. reactJS入门学习
  5. 操作系统安全 访问控制机制
  6. sv中packed struct
  7. 【181203】VC++ 签名鉴定/笔迹识别源代码
  8. PostgreSQL 大象 -- Slonik 的历史
  9. 微型计算机上的南桥芯片功能,微型计算机主板上安装的主要部件
  10. 关于canvas绘图一个坑(ctx.clearRect())