福野泰介の一日一創

1行リターンでIoT、さくらのIoT Platformα x IchigoJam BASIC で超簡単ネット接続デバイスづくり

2016/06/25 23:00:00
#IchigoJam #IoT #sakura 

さくらのIoT Platformα、お借りしたモジュールをIchigoJamに接続、超簡単にネットにつながりました!


IchigoJamとの接続は4本のみ、赤の5VをCN5(5Pソケットをつける)の5Vへ、黒をGNDへ、その隣の黄色がI2CのSCLなのでEX1へ、次の黄色がI2CのSDAなのでIN3へ。 I2Cのプルアップ抵抗はモジュールに入っているとのことなので、これだけでOKです。(※プルアップ付きのEEPROMモジュールをつけても動作しました)

画面に表示されているように、たった2つのコマンドでモジュールからネットへの送信が完了しています!

POKE #700,#30,1,ASC("I"),#AA:?I2CR(#4F,#700,7,#700,0)

このように書けば、まさにたった1行。
先頭行 #30 が送信コマンド、次にチャンネルの1、4byte正数を表すI、今回は簡易的に先頭1byteのみ書き込む#AA。 I2CRコマンドで、仮想メモリ#700からの7byteを送信して、受信はないのでダミーのアドレスと長さ0を指定。 うまくいけば0が返ります。1と表示されたらI2Cの接続を確認してください。


箱から出して、初回のみファームウェアの更新が必要です。5Vをつないだら電波状態の良さそうなところで、しばらく放っておきましょう。 この時5Vが電池モバイルバッテリーなど、あまり電流が取れない電源だと失敗しました。 うまくいかない場合、ACアダプターから電源をとってみるといいでしょう。

LEDの3回点滅がモデムの起動待ち、その後、電波状況によらず2回点滅に遷移して、ファームウェア更新開始。

コネクターの電源5V(赤)の反対側の端、緑はUARTのTxDなので、これをIchigoJamのRxDにつなぐと、アップデートの様子をみることができます。

Sakura IoT Alpha (201505311830-89doeefo)

最後にこのように表示され、ファームウェア更新が完了!
一度、リセットして、LEDが3回点滅状態から、2回点滅になれば送信準備が整ったと思っていいみたいです。
下記のコマンドでネットワーク接続状態を見ることができますが、通信する前は 0 が返ってくるようです。

POKE #700,1:?I2CR(#4F,#700,1,#701,1):?PEEK(#701)

I2Cのアドレスは#4F、詳細気になる方は、Arduino用のサンプルプログラムを読むのがおすすめです。 (sakura-internet/SakuraAlphaArduino: SAKURA Internet IoT Alpha Communication Module Library for Arduino

モジュールからネットに送ったデータの使い方は、さくらのIoT Platformαで用意された管理サービスから設定できます。

プロジェクトを作成し、連携サービスを追加


WebSocketサービスを追加したこの画面で、IchigoJamから送信すると送られてきたデータがリアルタイムに更新されます!楽しい!


Outgoingサービスを追加すると任意のWebサイトにデータをJSON形式で転送してくれます。
ひとまず受け取ったデータをWebアプリから連携できるテストサービスを作ってみました。
これで遠くで起きた何かを検出できちゃいます!
サービスを作らなくても設定だけでスマホに通知できたりすると、更にIoT化の敷居が下がって良さそうです!


今回使用したのは、SORACOMのSIMが入ったα版のモジュールです。製品化、楽しみですね!

設定不要、電源をつなぐだけでネットにつながってしまうIoTデバイスが、BASICで1行書くだけで簡単に作れてしまう。 どんなデバイスが、どんな業界から飛び出すか!?

関連リンク
- IchigoJam
- さくらの IoT Platform
- 1行リターンですぐ動く!BASIC I/Oコンピュータ IchigoJam入門

レッサーパンダマップ(鯖江編) うまれたところ・すんでるところ

2016/06/24 23:55:00
#opendata #sabae #panda 

鯖江にある、日本一小さい動物園西山動物園」は、レッサーパンダの繁殖数で日本一!

レッサーパンダオープンデータを使って、レッサーパンダのうまれたところ・すんでるところマップを作ってみました。 現在登録は10頭、歴代レッサーパンダみんな登録されるとおもしろいことになりそう!?


レッサーパンダマップ - 国土地理地図
鯖江にすんでる、うまれたレッサーパンダを適度にばらしてマッピング。
脱走しているわけではありません。


レッサーパンダマップ - 国土地理地図
鯖江出身のレッサーパンダに会いに行くたびもいいですね!

関連リンク
- 3/27 レッサーパンダのいえオープン! 鯖江西山動物園レッサーパンダあわせ

家電ごみすてマップ(鯖江編) ゴミ捨てに迷ったら「ごみすてナビ」

2016/06/23 23:55:00
#opendata #sabae #gomi #odp 

資源ごみの日、町内の当番が回ってきました。いろんな種類のごみを仕分けするのが楽しい!
今回、課題となったごみは、家電、ビデオテープ、庭石。 オープンデータ対応の「ごみすてナビ」で検索するとすぐ分かります! (2016.6.23現在の対応地域:鯖江市と東京品川区)

鯖江市では小型家電の回収をしています。15cm x 30cm の投入口に入る家電は、市内の回収場所へ。 投入口に入らないものは資源ごみや、リサイクルまたは、クリーンセンターへの持ち込みとなります。 小型家電の回収場所とクリーンセンターをオープンデータにして、国土地理院マップにまとめてみました。


ごみすてマップ(鯖江編)
公共施設ほか、スーパーで回収しているので、お買い物ついでにもっていくといいですね!


福井県鯖江市>使用済小型家電を回収しています
小型家電に含まれるレアメタル(価値ある素材)を有効活用しましょう!
※個人情報は消して、電池、充電電池は取り外しましょう


資源ごみの日、ずらっと並ぶリサイクルボックス。

迷ったら「ごみすてナビ」の「しらべる」ですぐに分かります。
ビデオテープは燃えるゴミ、庭石は市では処理不可!回収業者さん、広告掲載いかがでしょう?

鯖江市や品川区在住のリサイクル当番の方におすすめです!

参考リンク
- 鯖江市採用「ごみすてナビ」5つ星オープンデータ利用のゴミ情報アプリ

PCNこどもプロコン2016夏!夏休みはこどもと一緒にプログラミング&電子工作しよう「かえるのうた輪唱」編

2016/06/22 23:55:00
#hanadojo #KidsPC #IchigoJam 

第5回目になるPCNこどもプロコン、スタートしました!

PCNこどもプロコン2016夏」協賛受付もスタート!

今年は昨年以上にもりあがる全国各地で開催されるこどもプログラミングイベント。楽しさに触れた後、いかに継続するかが次のポイントです。 プログラミング言語も、英語などと一緒、使わないと忘れますし、普段使いすればみるみるレベルが上がっていきます。 こどもプロコンを、作品をつくりあげる動機付けに使ってください。表彰式では、全国のライバル兼ともだちにも会えますよ!


鯖江のものづくりスポットHana道場、毎週火曜日は20時までの延長営業となりました! 高専生と新社会人、IchigoJamを使ったプログラミングレッスンを伝授。今回のテーマは「かえるのうたの輪唱を通じて学ぶ音楽と通信」。 PLAYコマンドとMMLで音楽をつくり、INとOUTコマンドでIchigoJam間で通信、WAITコマンドでタイミングをとって、輪唱が成功! おまけにソレノイドでパーカッションもつけてみました。


こちら1台目、コントロールする、マスター側。今回はOUT2とIN2をつないでいました。OUT2,1でタイミング送信!


こちら2台目、コントロールされる、スレーブ側。IN(2)でIN2の状態を監視、1になった瞬間、輪唱スタート!


かえるのうた輪唱、成功動画!

PLAY "CDEFEDCR EFGAGFER CRCRCRCR C8C8D8D8E8E8F8F8 EDC"

かえるのうたのMML、スペースはあってもなくてもOKです。オリジナル曲作りも簡単ですね!
こどもプログラミングが広めるには、まずは大人が楽しむこと、簡単で楽しそうなことからはじめましょう!

参考リンク
- PCNこどもプロコン2016夏(開催中!)
- PCNこどもプロコン2015冬(開催レポート)
- PCNこどもプロコン2015夏(開催レポート)
- PCNこどもプロコン2014冬(開催レポート)
- PCNこどもプロコン2014夏(開催レポート)

夕張市に見る「住みすさランキング」に加えたい「将来性」 全国市区町村オープンデータとマッシュアップ

2016/06/21 23:55:00
#sabae #opendata 

東洋経済発表の「住みやさランキング2016」、鯖江市は堂々6位!
前回の7位から1つ順位を上げています。1位は「ひと まち 自然 活気と希望あふれる 北総の中核都市 人と自然が笑顔でつながるまち-いんざい」がキャッチフレーズの千葉県、印西市(いんざいし)。

ドメイン調査の成果、GitHubにアップしている、市区町村の読み、緯度経度、Webのアドレス、キャッチフレーズをまとめたデータと共に、国土地理院のオープンデータ地図にマッピングしてみました。


豊か地図 - 国土地理院マップ使用」

住みよさランキングは、5つの観点(安心度、利便度、快適度、富裕度、住居水準充実度)の偏差値を単純平均したものとのこと(東洋経済記事より)。 重視するものは人それぞれ、個人の指標に合わせた「マイ住みよさランキング」をつくってみたいところ。 自分の好きなまちと似ている町が見つかり、その町と比較することで新たな発見があるかも!?

住むまちは、今がよければOKという訳にはいきません。破綻した、日本の縮図と言われる夕張市の凄まじい緊縮ぶりが書かれていました。 市民税は上がり、公共サービスがなくなっているまちが実在します。

【夕張市民の負担増】
市民税 → 法律上の上限までアップ
公共施設使用料 → アップ
小学校 6校 → 1校
中学校 3校 → 1校
市の出先機関 5カ所 → 1カ所
図書館 → 廃止
市民会館 → 廃止
集会施設 → 廃止(市民の運営へ)
各種団体やイベントへの補助金 → 廃止

【夕張市の人件費を6割減】
市の職員 260人 → 100人
市の職員は年収ベース → 最大40%減
市長の月給 → 70%減(月額25.9万円)
市長の退職金 → 100%減
議員数 18人 → 9人
議員報酬 → 40%減

> 行政サービスは空気みたいなものです。苦しい思いをして初めて気づく。 by 夕張市長・鈴木直道氏
夕張市長・鈴木直道氏が断言「夕張の将来は日本の将来」 | 日刊ゲンダイDIGITALより

参考リンク
- 「日本の自治体Webサイト一覧(ホームページ一覧)をオープンデータ化、ドメインセンサスで分かった驚きの.tvドメイン!

オープンデータな国土地理院地図でつくる選挙ポスター掲示場所マップ(印刷OK!)

2016/06/20 23:55:00
#IchigoJam #maker 

18歳が選挙権を持つ初の参院選2016(公示22日)。
被選挙権は変わらず30歳、世界一高い供託金300万円も据え置きのようです。

オープンデータ(CC BY 4.0 国際)地理院地図(電子国土Web)を使って、5つ星オープンデータとして公開されている選挙ポスター掲示場所マップを作成。 地理院地図を少しカスタマイズして、HTML内でアイコンをSPARQLで取得、表示するようにしています。


選挙ポスター掲示場所マップ - 国土地理院地図アプリ版

選挙恒例のこの選挙ポスター掲示、他の国でもあるものなのでしょうか? ベトナムの選挙では、なってほしくない候補者に複数☓をつける方式(日本の最高裁裁判官と同様、ただし候補者すべて☓をつけると無効)など、他国との比較が楽しそう。

その他、選挙に関する便利なアプリ
- Let's vote!今日は投票記念日 - 福井県情報システム工業会&福井県連携アプリ
- 選挙ポスターを廻れ! - 候補者や支援者の人向け、色分けできて便利!?(Googleマップは印刷利用NG
- 選挙カー連呼スポット探し - 選挙カーが名前を連呼できる病院・学校など以外のスポットを探せます

HTML内にこのように書くことで、アイコンの設置とSPARQL取得を行っています。

var map_onload = function() { var map = GSI.GLOBALS.map; var params = GSI.GLOBALS.queryParams.params; var markerList = L.layerGroup(); markerList.addTo(map); var makeMarkerItem = function(d) { var icon = L.icon({ iconUrl: "poster-mini-1.png", iconSize: [ 32, 32 ], iconAnchor: [ 16, 16 ] }); var marker = L.marker([ d.lat, d.lng ],{ title : "選挙ポスター掲示場所", icon : icon, }); marker.bindPopup( "<a href=" + d.uri + " target=_blank>" + d.uri + "</a><br>" + d.desc, { maxWidth:5000 } ); markerList.addLayer(marker); }; CONFIG.FUNCMENU.id = "print2"; // 通常の print だとなぜかアイコンでない、要調査 var prefix = "PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>\n" + "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n" + "PREFIX ic: <http://imi.ipa.go.jp/ns/core/rdf#>\n"; var q = prefix + "select ?uri ?lat ?lng ?desc { ?uri rdf:type <http://odp.jig.jp/odp/1.0#PosterPlace>; geo:lat ?lat; geo:long ?lng; ic:説明 ?desc. }"; var baseurl = "http://sparql.odp.jig.jp/data/sparql"; var url = baseurl + "?query=" + encodeURIComponent(q); var func = function(data) { var items = data.results.bindings; bounds = new L.LatLngBounds(); for (var i = 0; i < items.length; i++) { var it = items[i]; var d = { // type: it.type.value, // name: it.name ? it.name.value : "", uri: it.uri.value, lat: it.lat.value, lng: it.lng.value, desc: it.desc.value }; makeMarkerItem(d); bounds.extend(new L.latLng(d.lat, d.lng)); } map.fitBounds(bounds); }; url += "&output=json&callback=" + getCallbackMethod(func) jsonp(url); };

選挙とアプリ、よいアイデアあればお寄せください!

IchigoJamで温度表示付きオリジナル時計作りに、245円の4KBメモリ&RTCモジュールが便利!

2016/06/19 23:55:00
#IchigoJam #maker 

I2Cに対応しているIchigoJam、トラ技の連載「学生エンジニア応援企画 園児が組み込み開発?子供向け1,500円パソコンIchigoJam誕生」最新号で紹介されていた「DS3231搭載RTCモジュール」が便利でした!

時刻設定をボタン電池CR2032で保存してくれるRTC(リアルタイムクロック)機能に、温度センサー、フリーに使える4KBの外部メモリ(EEPROM)もついて、なんと税抜245円!


テレビやプロジェクターだけでなく、7セグLED、サーボ、モーターなどで電子工作したオリジナル時計づくりに使えます!

ブレッドボードと2.4kΩの抵抗2つ、ジャンパー線を用意して、下記のようにつなぎます。
- SCLをIchigoJamのEX1へ(新基板のSCL(CN5)でも可)
- SDAをIchigoJamのIN3へ(新基板のSDA(CN5)でも可)
- VCCをIchigoJamのVCCへ
- GNDをIchigoJamのGNDへ
- SCLとVCCを2.4kΩの抵抗でつなぐ(2.4kΩでプルアップ)
- SDAとVCCを2.4kΩの抵抗でつなぐ(2.4kΩでプルアップ)

ハードができたら、こちらのプログラムで時刻設定

300 P=#707 310 INPUT"Y:20",X:GOSUB400 320 INPUT"M:",X:GOSUB400 330 INPUT"D:",X:GOSUB400 340 X=0:GOSUB400 350 INPUT"H:",X:GOSUB400 360 INPUT"M:",X:GOSUB400 360 INPUT"S:",X:GOSUB400 375 POKE #700,0 380 IF I2CW(#68,#700,1,#701,7) ERR 390 END 400 X=X/10*16+X%10:POKE P,X:P=P-1:RETURN RUN

入力された年か秒までを二進化十進表現(BCD)にしてメモリにPOKEで書いておき、I2CWコマンドで送信! #68がI2C上のアドレス、これが重ならない限りいろいろ同時に並べて使えるのがI2Cのいいところ!#700から1byteで書き込み先を指定して、#701から7byteを送信して、失敗したらERRという存在しないコマンドでエラー停止させています。

次に、現在の日付と時刻を読みだして表示するシンプルなプログラム

10 GOSUB200 20 CLS 30 LC10,10:?"20";DEC$([0],2);"/";DEC$([1],2);"/";DEC$([2],2) 40 LC10,12:?" ";DEC$([4],2);":";DEC$([5],2);":";DEC$([6],2) 50 WAIT 60:GOTO 10 200 POKE#700,0 210 IF I2CR(#68,#700,1,#701,7) ERR 220 FOR I=0 TO 6:[I]=PEEK(#707-I):[I]=[I]>>4*10+[I]&15:NEXT 230 RTN

時計の完成です!
SAVE0して、ボタンを押しながら電源をいれてみると、ちゃんと時刻を覚えてます!
時間帯に合わせて挨拶する時計なんかも楽しそうです。


温度センサーの値を取得するプログラムはこんな感じ

500 GOSUB600 510 ?T/10;".";T%10 520 WAIT60:GOTO 500 600 POKE#700,17:IF I2CR(#68,#700,1,#701,2) ERR 602 T=PEEK(#701)<<2|PEEK(#702)>>6:IF T& #200 T=T|#FC00 610 T=(T*25+5)/10:RETURN GOTO 500

1秒おきに温度を表示します(数としては0.25度刻みですが、精度がプラスマイナス3度と粗いので、小数点2桁目を四捨五入)
詳しく知りたい方は、DS3231データシートを読むといいです。 アラームとSQW信号を使って、温度に合わせて鳴き声が変わる鳩時計みたいなものできるかも!?

最後にEEPROMの使い方。下記でプログラムの保存、読み出しができます(AT24C32の仕様上、書き込みは一度に32byteまで)

'SAVE to EEPROM N=0 '0-3 FORI=0TO1023STEP32:POKE#700,(1024*N+I)>>8,I:R=I2CW(#57,#700,2,#C00+I,32):NEXT 'LOAD from EEPROM (N:0-3) N=0 '0-3 FORI=0TO1023STEP32:POKE#700,(1024*N+I)>>8,I:R=I2CR(#57,#700,2,#C00+I,32):NEXT

このアドレスのまま外部不揮発メモリとして活用するのもありですが、モジュール上のA0〜A3をジャンパーでつないで、アドレスを#50にすると、IchigoJam標準のEEPROM保存、SAVE100〜SAVE103/LOAD100〜LOAD103として使うこともできます。 (ちょっと、はんだブリッジがしづらいのが残念、0Ωチップ抵抗があると楽そうです)


ブレッドボードでの配線が手間なので、接続基板をつくってみました(左接続基板、右RTCモジュール)


適当な小さなユニバーサル基板と2.4kΩの抵抗2つ、L字ピンヘッダーとピンソケットをはんだづけ。


完成です!

いろいろ使えてお得なRTCモジュール、電子パーツ販売@Hana道場にも、近日入荷予定!
RTCモジュール - aitendo

はじめて電子工作、はじめてプログラミング、Hana道場にてちょっと電子パーツ販売開始!

2016/06/18 23:55:00
#IchigoJam #KidsIT #sabae 

福岡、岐阜、北海道、福井、各地で開催されたIchigoJamイベント。 鯖江、Hana道場では、小学1年生もはんだづけとプログラミングに挑戦。(福岡では最年少参加者3歳!?)


すぐ要領をつかんでサクサクはんだづけする小1の女の子。1時間足らずで完成!


一発で起動!LEDもつけられました!早速つくったBEEPコマンドのプリントが役立ちます。


プログラミング教室にも兄弟で参加してくれました!


LEDではじめる電子工作とプログラミング、Hana道場に電子パーツのミニショップがオープンです!
目玉はサーボ、ちょっとした部品がいろいろ手に入るので、気軽に使ってください。
Hana道場にある、各種IchigoJam本を読みながらやってみるのがおすすめです!


国内唯一の子供向け電子工作専門誌、電子工作マガジンが届きました!
今月号もワクワクする電子工作とプログラムが満載!


電子工作マガジンのふろく、12年ぶりに復活したベーマガこと、マイコンBASICマガジンも第6号!


気になる大作「いちごるふ」サイドビューのゴルフゲームがいい感じです。打ち込むだけで遊べます!


楽しく簡単、電子工作&プログラミングを子供たちに広めるための実験。
aitendoの「感雨センサーモジュール」とブレッドボード、ジャンパー線があれば、IchigoJamで雨を検知したシステムなどが簡単につくれちゃいます。 VCCを+に、GNDを-に、信号SをIN2につないで、プログラムをかいて、RUN。

10 ?IN(2) 20 WAIT 20 30 GOTO 10

IchigoJamプリントとして、電子工作シリーズもまとめていけるといいかもしれません。

今回の経験踏まえた新作プリント
でんきをあやつるLED(エル・イー・ディー)」IchigoJamプリントシリーズ、はじめのいっぽ

福井大学1年生が活躍!小学校のクラブ活動としてのプログラミング体験、課題を解決するプリントづくり

2016/06/17 23:55:00
#IchigoJam #KidsIT #sabae 

2年前にお会いして、2014年2学期からスタートした鯖江市鯖江東小学校でのプログラミングクラブ。 導入を決めてくれたのは電通大出身の吉村校長先生。 今年から移られた神明小学校でも総勢31名という人気のプログラミングクラブ、2回目の開催です!


4年生から6年生まで、31名。基本的な使い方と、LEDを光らせた前回から2週間、手助けなく自分でIchigoJamをつないで、準備できる子多数。 優秀です!忘れちゃってても大丈夫、今回は福井大学から5人の大学生が応援に来てくれています!

まずは、子供に人気な音をだすサウンダーの使い方をまず伝授。 IchigoJamの中央にある黒い部品、IchigoJamのCPU(シーピーユー)であるコンピューターの速さに驚いてもらったら、それぞれの足がいろんなことをやってるんだよと解説。 わかりやすくそれぞれの足の機能が分かる IchigoJam 特製シールを貼り付けてもらって、サウンダーを差し込みます。

差し込んだら、BEEPコマンドで、音を確認してみよう!数値を変えよう!ボタンを押して鳴るようにしよう! と、ひとつずつは短めの説明でも、みんな手で触りながらだと進み具合にばらつきがでます。 大学生が大いに活躍してくれたので、かなりスムーズでしたが、用意してきた九九ゲームを打ち込む時間はなさそうと断念。

代わりに「?」を使った計算のさせ方と、1000*100を計算させて、IchigoJamをバグらせる実験。 一度に全部覚えてもらう必要は全くありません。 むしろ、間違った教えに惑わされないよう、忘れる力はとっても大事。 自分で納得行くまで試して、友達と見せ合い、ひとつひとつ体得するのが、一見遠回りに見える王道です。

反省を踏まえて、プログラミングクラブ活動用のプリントをつくりはじめました。 SVGで埋め込むIchigoJamプログラムの使い勝手がいい感じなので、量産も手軽にできそうです。 A5サイズでのプリントが手元において邪魔にならず、ちょうどいいかも。

IchigoJam プリント」(BEEPと九九の2枚からスタート!)

IchigoJam BASICプログラムをHTMLに簡単埋め込み!(IchigoJamフォントでSVG化するJavaScriptライブラリ)

2016/06/16 23:55:00
#js #IchigoJam 

SVGでプログラマブルな書体を作る話 | dwango creators' blog(ドワンゴクリエイターズブログ)」を見て、IchigoJamのフォントもSVG化、きれいにWebサイトで簡単に埋め込めるようになりました。 忘れがちなエンターもver1.2から追加した「エンターキャラクター」が自動で付くのでわかりやすいはず。

埋め込み方法はこちら。

<script src=http://fukuno.jig.jp/app/IchigoJam/ichigojamlist.js></script> <div id="list"></div> <script>makeIchigoJamLIST("list", f2s(function() {/* 10 PRINT A:LED1:WAIT30:LED0:WAIT30:LED1:WAIT1:LED0 20 PRINT "エルイーディーヲ チカチカ" 30 LET A,A+1:GOTO 10 */}))</script>

プログラムの部分を書き換えればOKです!(サンプルHTML

複数のプログラムを埋め込む場合、先頭の ichigojamlist.js の読み込み行は、1ページ内に1つだけおけばOK、divタグの中のlistをlist1,list2などとそれぞれ違う番号にしてください。

大きさをカスタマイズしたり、いろいろ改造したい方は、こちらのプログラム付きのページ「IchigoJam/FontSVG」をご活用ください!
JavaScript + HTML Canvasでつくった従来版「IchigoJam LIST」も合わせてどうぞ!


IchigoJam Font in SVG - sample

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — 表示 4.0 国際 — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / 高解像度プロフィール画像(和服)