@The2ndDim · Post #1877 · 19.07.2023 г., 01:45
#转发#Hardware#INMO#AR_Glasses https://b23.tv/BV12P411k7ir INMO Air2 拆机与内部构造展示 // INMO这次的设计下足了功夫。 // 发热问题解决的非常好。 // 给A72核心留下了充足的发挥空间。 // 只可惜预售时外壳接缝有些小翻车,延期略久。
Hashtags
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #241 · 5 мај
Можно ли в Python создавать бинарные файлы? Конечно можно. Для этого в Python есть следующие инструменты: ▫️ тип данных bytes и bytearray ▫️ открытие файла в режиме wb (write binary) или rb (read binary) ▫️ модуль struct Про модуль struct поговорим в первую очередь. Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных. В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла. Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла. Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид. Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки). Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение. При этом следует помнить что мы говорим о типах языка С а не Python. Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще. Вот какие токены формата у нас есть. Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы. В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты. Запакуем в байты простое число, токен "i". >>> import struct >>> struct.pack('=i', 10) b'\n\x00\x00\x00' Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов. >>> struct.pack('=fff', 1.0, 2.5, 4.1) b'\x00\x00\x80?\x00\x00 @33\x83@' Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же. >>> struct.pack('=3f', 1.0, 2.5, 4.1) b'\x00\x00\x80?\x00\x00 @33\x83@' Теперь запакуем разные типы >>> data = struct.pack('=fiQ', 1.0, 4, 100500) я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт) b'\x00\x00\x80?\x04\x00\x00...' Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа. >>> struct.unpack('=fiQ', data) (1.0, 4, 100500) Как видите, ничего страшного! #lib#basic
Пребарај: #inmo
@The2ndDim · Post #1877 · 19.07.2023 г., 01:45
#转发#Hardware#INMO#AR_Glasses https://b23.tv/BV12P411k7ir INMO Air2 拆机与内部构造展示 // INMO这次的设计下足了功夫。 // 发热问题解决的非常好。 // 给A72核心留下了充足的发挥空间。 // 只可惜预售时外壳接缝有些小翻车,延期略久。
Hashtags
@The2ndDim · Post #1844 · 07.06.2023 г., 12:15
#GotThis#Hardware#INMO#AR_Glasses 给 INMO Air2 眼镜加了俩摄像头保护盖。 // 默认情况下是盖上的。 // 这样就算有人问起来摄像头凸起,你就可以直接回答: // “摄像头自始至终都是盖上了的。”
@The2ndDim · Post #1833 · 05.06.2023 г., 20:01
#GotThis#Hardware#INMO#AR_Glasses INMO Air2 由一副无线一体机眼镜和一个蓝牙戒指构成的个人AR眼镜终端方案。 可独立运行,可自行安装App。 双目垂直阵列光波导显示模组,640x400分辨率。 紫光展锐 W517 穿戴硬件平台, 2GB RAM,32GB eMMC,Android 9 (32位)。 450mAh电池,最高可提供6小时的通知提醒续航能力,或最高提供2小时持续亮屏使用续航能力。磁吸充电数据线。 - - - 看完了苹果的PPT,不如看一下这个现在就能¥3999预定然后带回家的眼镜? 使用体验上可以这么形容:把一块智能手表糊到了脸上,在上面跑电视盒子里的软件,操作模式也是电视盒子软件的方向键加一个确定和返回。 但重点是:它能用。真的能用。 相比于第一代的INMO Air来说,性能和可用性提升了不少。双目显示也让单眼看着难受的问题也彻底解决了。第一代现在看起来就像是个玩具一样。 至于这个眼镜和其他市面上的产品相比的优势: 1. 垂直阵列光波导光学方案,从正面是看不到用户所看到的画面的,隐私性强,并且通透性很好,几乎就是普通透明玻璃一样。。虽然代价是分辨率不行,光学模组成本高,亮度对比度相对较差一些。 2. 至少设计上像是个普通眼镜。得益于光波导方案的高通透性,可以做到几乎透明的镜片。配合这个可能要捐献时间的黑框眼镜外观,可以作为日常佩戴的眼镜使用。别的各种所谓的AR眼镜设计造型都非常夸张,戴着出门生怕别人不知道你是个十足的怪咖。 3. 无线一体机设计,可以独立运行软件。手机App只是一个补充的功能,提供类似智能手表或者手环的消息推送,以及一些辅助功能信息的显示。比起市面上那一推必须插着手机才能用的所谓的AR眼镜们来说,能独立运行这才是AR应该有的样子,而不是单纯的作为一个手机副屏在旁边吃灰。 // 不过小厂自然有小厂的问题。 // 比如因为品控问题,预售发货直接拖了一整个月。 // 原计划4月30日发的,硬是拖到6月3日。 // 但小厂的好处是:他们真的愿意听用户的意见。 // 操作方式除了 上下左右+确定+返回 的遥控器按键模式可以用于戒指和右侧触控板操作外,戒指还支持空中飞鼠模式,允许控制鼠标指针来做全屏点击。 // 目前来说画饼的功能: // 1. 眼镜本身支持的双目显示在硬件上实际上支持双目分别显示,也就是3D画面模式。只是分别双目显示的这个功能暂时还没有在SDK内开放。 // 2. 眼镜提供了全球最轻量的SLAM算法,可以同时使用传感器融合和右侧黑白广角相机来实现6DoF空间定位。但目前没有实装。 // 3. INMOVERSE元宇宙应用,实现“线下元宇宙结合”。目前没有实装。 // 4. 接听电话和蓝牙耳机功能。预计在6月份的OTA中推送。