Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
いにしえの呪文
Search
sapi_kawahara
July 03, 2018
Business
540
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
いにしえの呪文
【増席!】M5Stackユーザーミーティング vol.2 の登壇資料です。
https://m5stack.connpass.com/event/90997/
sapi_kawahara
July 03, 2018
More Decks by sapi_kawahara
See All by sapi_kawahara
EzSignという 電子ペーパー
sapi_kawahara
2
75
Gitがない時代 インターネットがない時代の 開発話
sapi_kawahara
0
330
プログラミング言語において文字列を複数行にわたって だらだらと記載するアレ
sapi_kawahara
0
180
コマンドラインを見直そう(1995年からタイムリープ)
sapi_kawahara
0
750
今から始める8bits CPU アセンブラ言語
sapi_kawahara
0
1.7k
執筆テーマの決め方
sapi_kawahara
2
440
LTの禁じ手
sapi_kawahara
2
1.3k
||とorの違いは登壇して解決した
sapi_kawahara
0
410
Macintosh talk / Macintoshの話
sapi_kawahara
0
260
Other Decks in Business
See All in Business
Fable5との実践から生まれた非エンジニア組織のループエンジニアリング
nagatsu
0
790
新規事業立ち上げにPMMが果たすべき役割と責任 −スケールアップ企業における"プロダクトマーケティング"の可能性
yushimad
1
470
フルカイテン株式会社 採用資料
fullkaiten
0
100k
顧客の信頼を感じるのは、どんなときだろう? / When do you feel a customer's trust?
tanaken0515
0
400
enechain company deck
enechain
PRO
10
190k
Web工学とビジネスモデル - IVRyにおけるAI時代の新規事業開発 -
ivry
1
560
Terraform Provider for TROCCO × AI で 半自動化する複数プロダクトの連携運用 / Semi-Automating Multi-Product Data Integration Ops with the Terraform Provider for TROCCO × AI
medley
0
260
スマートキャンプ株式会社 会社紹介資料 / companydeck
smartcamp
1
4.9k
サステナブルな成長を支えるセルフマネジメントの技術/Self Management skill for growth
ikuodanaka
1
510
エムスリーキャリア Work Support採用資料 / M3C Work Support
m3c
0
14k
朝日新聞社 ITエンジニア キャリア採用 紹介資料
asahi_cto
0
170
Mercari-Fact-book_en
mercari_inc
2
37k
Featured
See All Featured
Abbi's Birthday
coloredviolet
3
8.8k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
430
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
470
We Are The Robots
honzajavorek
0
290
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
41k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
190
Skip the Path - Find Your Career Trail
mkilby
1
170
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
We Have a Design System, Now What?
morganepeng
55
8.2k
Transcript
これから話す内容は、初心者向 けです!
いにしえの呪文 川原 英明 Facebook: kawahara.hideaki.0204 Twitter: @sapi_kawahara Blog: https://kawahara-ci.hatenablog.com/
自己紹介 • 川原 英明 • 埼玉県川越市在住 • 使用言語は、アセンブラ、C言語、C++、Perl、PHP、Java、Ruby、 Python、JavaScript(jQuery、Vuejs)と、何でもやる人です。 •
現在、Webエンジニアなので、C言語系は、コンシューマーゲーム機 での開発を、プレイステーション2を最後に、15年ぶりです。 • そう、M5StackはC++が開発言語なのです!
いにしえの呪文 その1
C言語が、いにしえの呪文
ディスってません! • #includeを久しぶりに使った。 • ポインターを久しぶりに使った。 • voidを久しぶりに使った。 • 構造体を久しぶりに使った。 •
uint8_tのような無符号整数を久しぶりに使った。 • プロトタイプ宣言を久しぶりに使った。 • 呼び出すメソッドを、ファイルの後ろの方に書くとコンパイルエラーに なる。 • 少々、変わっているクラス定義。
いやいや、クラス定義について PHPerやPerl Mongerには言わ れたくない!
なにせ15年ぶりなので! • クラス定義の最後は }; です! • 変数やメソッド毎に、アクセス修飾子(public,private,protected)を書く のでは無く、セクション毎に書く。(public: とか書いて、その後にまと めて書く)
• 使わないけど、デストラクターはクラス名の前に ~ を付けた名前のメ ソッドで定義する。 • そして、とにかく、クラスはファイルの前の方に書く!
恥ずかしながら・・・ • Web系エンジニアのみの方は、C++をやるときに、この辺りに、ひっか かる可能性があります。 • というか、自分がひっかかりました、30分ぐらい悩みました。 • この辺りは、C++ クラス とかで検索すれば、解決します。
ところで
M5Stackの話を、 全然してない!!
いにしえの呪文 その2
M5Stackのtoneで音を鳴らして たとき、音の感じが、とても懐か しく感じました!
懐かしく感じた物 • ガラケーの着信音
いにしえのガラケー • Webサイトは、基本的にメニューから行く。 • 画面はcHTMLというので作った、しょぼい画面です。 • 音は単音か3重和音だけど、音色は無く矩形波ぐらい。 • その当時、ガラケーで流行った物があります。 •
着メロ本です。
着メロ本とは? • 昔、着信音は手で入力してました。 • 本屋に沢山置いてありました。 • 数字の羅列です。
M5Stackで再現 • やっている事は、しょぼいです。 • スマホでbluetoothで接続し着メロデータを送信してます。 • M5Stackはデータを受け取り、着メロデータをtoneの形式に変換して鳴ら しているだけです。 • bluetooth関連はサンプルからコピペしました。
• M5Stackのbluetoothを有効にして、getValueすると、std::string形式で取得 できます。 • それを、toneで使える形に変換して、配列(std::vector<int>)に入れます。 • あとは、配列を読んで、toneで鳴らすだけです。 • bluetooth関連は、意外と簡単に実装できます。
着メロのルールはタイプA • 休符 0 • ド 1 • レ 2
• ミ 3 • ファ 4 • ソ 5 • ラ 6 • シ 7 • ド 8 • 二回は# • 三回は♭ • データは、こちらです。 • 5 3 3 4 2 2 1 2 3 4 5 5 5 0 5 3 3 3 4 2 2 2 1 3 5 5 3 3 3 0
苦労した点 • メソッドやクラスはファイルの前の方に書くなどC言語の特性に少々 悩んだ。 • このMacBook Proは少々古く、対応しているbluetoothは2.1だったの で、作ったのはいいが確認する方法に悩む。 • 結果として、iPhoneと汎用的なbluetoothアプリを入れて確認しました。
•M5Stackの音がうるさい!
あんまり、 M5Stackの話をしてませんが、 清聴ありがとうございました!