惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
V
V2EX
G
Google Developers Blog
F
Full Disclosure
Martin Fowler
Martin Fowler
宝玉的分享
宝玉的分享
H
Hacker News: Front Page
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
NISL@THU
NISL@THU
G
GRAHAM CLULEY
V
Vulnerabilities – Threatpost
Hacker News - Newest:
Hacker News - Newest: "LLM"
A
About on SuperTechFans
The Cloudflare Blog
C
Cisco Blogs
D
DataBreaches.Net
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Vercel News
Vercel News
P
Privacy International News Feed
Microsoft Security Blog
Microsoft Security Blog
Help Net Security
Help Net Security
Recorded Future
Recorded Future
PCI Perspectives
PCI Perspectives
S
Schneier on Security
AI
AI
N
News | PayPal Newsroom
雷峰网
雷峰网
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Proofpoint News Feed
The Last Watchdog
The Last Watchdog
L
LINUX DO - 最新话题
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
Schneier on Security
Schneier on Security
S
Securelist
云风的 BLOG
云风的 BLOG
Stack Overflow Blog
Stack Overflow Blog
博客园_首页
AWS News Blog
AWS News Blog
TaoSecurity Blog
TaoSecurity Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recent Commits to openclaw:main
Recent Commits to openclaw:main
博客园 - 三生石上(FineUI控件)
C
CXSECURITY Database RSS Feed - CXSecurity.com
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Cloudbric
Cloudbric
C
Cybersecurity and Infrastructure Security Agency CISA
Project Zero
Project Zero
C
Check Point Blog
S
Security Affairs

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟 从Python转向Pharo https://blog.just4fun.site/post/iot/iot-open-source-projects/ Python异步编程笔记 https://blog.just4fun.site/post/iot/iot-open-source-hardware-community/ 万物积木化开发者社区 CodeLab ❤️ Blender Scratch3技术分析之云变量 API(第7篇) [译]对管道(Pipes)的偏爱 [译]提出正确的问题比得到正确答案更重要 蓝牙设备与Scratch3.0 创建你的第一个Scratch3.0 Extension Scratch3技术分析之项目内部数据(第6篇) Scratch3技术分析之社区 API(第5篇) Scratch3技术分析之User API(第4篇) Scratch3技术分析之项目主页API(第3篇) Scratch3技术分析之静态资源API(第2篇) Scratch3.0、micro:bit与Windows7 https://blog.just4fun.site/post/iot/zerynth-vs-micropython/ 核聚变、方所与半宅空间 可视化编程为何是个糟糕的主意 codelab.club周末聚会 关于codelab.club '下一件大事'是一个房间 Hungry Robot - Eat everything 编程作为一种思考方式 今日简史 史蒂夫·乔布斯传 罗素自选文集 https://blog.just4fun.site/post/edx/tianjin-scratch-ai/ https://blog.just4fun.site/post/edx/richie-cms-openedx/ 徒步武功山 WebUSB与micro:bit 积木化编程与3D场景 夜宿武功山顶 scratch3-adapter接入优必选Alpha系列机器人 https://blog.just4fun.site/post/edx/video-migration-note/ scratch3-adapter重构笔记 https://blog.just4fun.site/post/edx/edx-community-members/ 两种硬件编程风格的比较 柏拉图对话集 scratch3.0 + micro:bit 七月电影放映计划 非营利组织的管理 Screenly--用树莓派让任何屏幕变为可编程的数字标牌 以最佳实践开始你的Django项目 micro:bit与事件驱动 为Scratch3.0设计的插件系统(上篇) OCR应用一例 近两年读过的一些好书 blockly开发之使用python驱动浏览器中的turtle(2) 牛顿新传 文学理论入门 逻辑的引擎 人生的意义 blockly开发之生成并运行js代码(1) blockly开发之hello world(0) micro:bit使用笔记 神器之Termux https://blog.just4fun.site/post/iot/micropython-notes/ Cozmo what is this Scratch的前世今生 下段旅程 我行在远方 爆裂 途中杂记 https://blog.just4fun.site/post/edx/open-edx-startup/ cozmo系列之入门 - 有性格且可编程的机器人 PaperWeekly开发笔记 创业二三事 blockly与结对编程
使用micro:bit自制PPT翻页笔
2018-07-10 · via 夜行人

Word的成功是形式对内容的胜利

近期偶尔到高校做些技术分享。我不喜欢写PPT,Word/PowerPoint是我最厌恶的几个软件,对Keynote也没有好感,没什么耐心在这些软件里点来点去

但我并不排斥为讨论和演讲做些书面上的准备。如果可以专注在内容,以Markdown来写作,而不必分心到排版和样式这些事情上,写完演讲所需要的内容之后,PPT能自动从markdown文本中生成,那该多怯意

要有光

幸运的是,jupyter允许我们这样做。

jupyter是个令人振奋的项目,如果要挑选出我最喜欢的几个工具,jupyter应该会排在前三

如果你来自 生物科学/物理学/人工智能/数据分析/量化 社区,jupyter可能已经在你的工具箱里了,如果你平时喜欢探索性的编码工作,那么你值得花一些时间上手jupyter

用jupyter写PPT

首先安装jupyterlab: pip3 install jupyterlab,jupyterLab是jupyter的下一代用户界面。安装完成之后,即可运行:jupyter lab

接着创建一个notebook,你就可以开始用Markdown写作PPT了

你可以把每个cell视为一页PPT,使用markdown在其中写作或代码,就像写博客,写完之后,点击右边栏的Cell Tools, 来设置cell

每个cell可以设置为以下多种类型:

写作完毕,选择导出为Slides:

导出文件为html,依赖于reveal.js(没有使用CDN),所以你需要在导出文件的同级别目录放置reveal.js(下载后解压即可)。

之后打开下载的html文件,你就可以在浏览器里看到使用jupyter写的PPT了,你可以把它们称为web PPT,演示的时候将浏览器全屏即可。

翻页笔

PPT翻页笔大约长这样:

你在台上演讲时,手握翻页笔,可以无线切换PPT,从而使PPT内容与你的演讲进度同步。

micro:bit PPT翻页笔

因为micro:bit中有蓝牙模块,所以我们可以利用micro:bit的蓝牙功能,来实现无线通讯;它还自带两个按钮,很适合用于制作翻页笔(前后翻页)

制作过程十分简单:

首先下载microbit固件到本地,然后拖拽到micro:bit中

完成之后,micro:bit将对外提供ble按钮服务,之后我们利用web bluetooth可以将浏览器,连上micro:bit,从而让micro:bit与js交互,而reveal.js有js api, 这就是micro:bit PPT翻页笔的原理.

注意:注意: web bluetooth目前只支持macOS、chrome OS、安卓三个平台下的 Chrome浏览器,暂不支持Windows系统

这块所需的js代码,我已经写好的。在你写作PPT时,只需在jupyter lab的第一个cell里贴上如下代码

1
2
3
4
5
6
# 连接micro:bit
*  打开电脑的蓝牙
*  点击右边的连接按钮

<button id="ble_button" style="color:blue">连接</button>
<script src="microbit_ble.js"></script>

然后把microbit_ble.js下载到jupyter lab导出的slide同级目录即可

听起来很绕的话,直接看源代码可能更清楚

开始使用

打开导出的slide,点击连接,选择micro:bit

至此,你就可以手握micro:bit开始你的演讲啦,使用电池供电,你就可以带着micro:bit在台上四处走啦

想象空间

如果你和我一样,是scratch和micro:bit的粉丝。你可以将microbit当作PPT翻页笔,而用scratch演示PPT。

具体策略有很多,最有趣的一种是直接用scratch创作动态内容,而将micro:bit作为一种体感设备,如此一来,你可以与你的PPT进行富有表现里的互动。如果你愿意,你可以选择跳一跳切屏或摇一摇抽奖

另一种策略,要简单一些,表现力也更弱,和传统PPT无异:将你的PPT转为480x360的图片,之后将图片作为背景导入scratch即可。然后使用我在scratch3.0 + micro:bit所介绍的方法,将micro:bit与scratch3.0连起来

参考