ADT7410の温度出力

はじめに

  • 電子工作を最近することになって、たまたま使う機会があった
  • HDC1000 と同じプログラムだと意味不明な数字でた

問題

  • 要はHDC1000用のプログラムだった
  • 何かが違うことはだいたいわかった

解決

HDC1000 ADT7410
address 0x40 0x48
quantity 4 2

で違うかったので修正したら少なくとも取得したであろう値は出た

あとは、正しい温度に近い値に変換する必要がある(128で割るといけた)

さいごに

  • はんだ付けの練習をしています、難しいですね

ICTSC2018 一次予選結果の話

はじめに

  • ギリギリになって参加することなり、既に編成されていたチームに招かれた
  • 投稿が遅くなったのは、その後すぐ学会やら学生プロジェクトやらで忙しかった

触った問題

  • SNMP筆記
  • IPv6筆記,実技
  • Network実技1,2
  • Xen 筆記
  • LB 筆記

課題

  • 個人の話
    • IPv6の問題がわからなかった
      • 要勉強
    • 問題量の関係でNetwork実技の解答が雑になって減点等があった
      • 丁寧にやろう
    • PacketFilter の問題が雑に検索した答えだった。選択問題を見落とした。
      • ダメもとで提出してみるべき。問題をよく読むべき
  • チームの話
    • チーム全得点がほぼ一人で稼ぐ結果になった
      • チームとしての地力を上げる必要がある
    • そもそも一問も解けなったメンバーがいる

おわりに

  • 2次予選に向けてチームビルディングしていきたい

Virtual Box で vyos (メモ)

はじめに

  • cisco機器以外を触る機会がありそうなので、少し練習

ssh

  • Virtual Boxをインストールしてvyosを起動できた
  • Vietual Box に直接だとコピペができなかったりしたのでsshの設定

    設定

set service ssh port 22
commit
save
  • reboot しないと使えないとか見たけどそんなことはなかった
  • (何ならsaveしたのにconfig消し飛んでて悲しくなった)
  • dhcp で降ってきた10.0.2.15/24 なんだこいつは
  • Virtual boxのアダプターをブリッジ接続に変更した
  • ちゃんと別のIPアドレス降ってきて無事ssh完了

ethを増やす

  • $ show interface なんかをすると
  • eth0 しかなかったので、増やしたいなぁと思って
# set interfaces ethernet eth1 address 192.168.0.1/24
  interface ethernet eth1: does not exist
  Value validation failed
  Set failed
  • どうやらvyos内で解決はできなさそうだった

    解決

  • 起動する前にVirtual Box でアダプターを有効にする必要がある
  • 一つは自動的に有効になっていたオチ

終わりに

  • Virtual Box で事前に設定しておく必要がある
  • アダプタの割当がnatだと10.0.2.15/24が降ってくるみたい
  • どうやらブリッジよりホストオンリーアダプタがいいらしい

WSLからMatplotlibを用いて画像が表示されない話

はじめに

  • Opencvを使って表示できてよかった
  • その後Matplotlibを使うときに問題が起きた

エラー

jpgファイルを読み込んで表示させるプログラムで

$ python3.6 demoMatplotlib.py
Traceback (most recent call last):
  File "demoMatplotlib.py", line 2, in <module>
    img = plt.imread('img/flash/ambient.jpg')
  File "/usr/local/lib/python3.6/dist-packages/matplotlib/pyplot.py", line 2381, in imread
    return _imread(*args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/matplotlib/image.py", line 1360, in imread
    'more images' % list(handlers))
ValueError: Only know how to handle extensions: ['png']; with Pillow installed matplotlib can handle more images
  • pngじゃないとダメみたいなことを言われた

解決

stackoverflow

pip install pillow
  • これでjpgでも対応できた

終わりに

  • 割とすぐ見つかってよかった

WSLのpython3.6でapt_pkgがないとか言われる話

はじめに

  • 課外活動でpython3.6 + Opencv3.2 を使う機会があった
  • import cv2は普通に動作したが、関数呼び出し時にエラーが出た

エラー

$ python3.6 demoOpenCV.py
OpenCV(3.4.1) Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /io/opencv/modules/highgui/src/window.cpp, line 356
Traceback (most recent call last):
  File "demoOpenCV.py", line 4, in <module>
    cv2.imshow('img',img)
cv2.error: OpenCV(3.4.1) /io/opencv/modules/highgui/src/window.cpp:356: error: (-215) size.width>0 && size.height>0 in function imshow

Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
    import apport.fileutils
  File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
    from apport.packaging_impl import impl as packaging
  File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
    import apt
  File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
    import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'

Original exception was:
Traceback (most recent call last):
  File "demoOpenCV.py", line 4, in <module>
    cv2.imshow('img',img)
cv2.error: OpenCV(3.4.1) /io/opencv/modules/highgui/src/window.cpp:356: error: (-215) size.width>0 && size.height>0 in function imshow
  • ModuleNotFoundError: No module named 'apt_pkg' を解決すれば良さげ

解決

stackoverflow

cd /usr/lib/python3/dist-packages
sudo cp apt_pkg.cpython-34m-i386-linux-gnu.so apt_pkg.so

すると動く、ということで実行してみると

  • apt_pkg.cpython-34m-i386-linux-gnu.soはなかった
  • ls で確認すると apt_pkg.cpython-35m-x86_64-linux-gnu.so というよく似た名前があった
  • こいつをcpしてプログラムを動作させた
$ python3.6 demoOpenCV.py
: cannot connect to X server
  • エラーが変わってX server を入れたら良さげ

X server

  • Xmingを入れた
  • 起動後ターミナル内で export DISPLAY=:0.0 を入力
  • その後、プログラムを動作させると無事動いた

終わりに

  • 色々なサイトを眺めたので一つにまとめた
  • 他のエラーが出ないことを祈る

nsecの処理時間をshellで測る

はじめに

  • 大きな差がない時間を比較する課題があった
  • time コマンドだと差が無くて泣いた

調査

  • cやc++のライブラリを使う方法がたくさん出てきた
    • 「違う、そうじゃない」となった

解決

知り合いが教えてくれた

#!/bin/bash
s=$(date +%s.%6N)
eval "$@"
t=$(date +%s.%6N)
echo "scale=1; $t - $s"|bc
  • これを保存(ex.hoge.sh)
  • Shellで./hoge.sh ./hogehoge.c のようにする
  • これでnsecからμsecまでを取ったが表示される

さいごに

  • ネットで調べたけど全く出てこなかったので書いた
  • 次に使うときはいつになるだろうか...

git メモ

はじめに

  • 研究室内でgitの組織アカウントが作られた。
  • 研究のソース共有に便利そう 以下のような理由で使おうと思った

下準備

さすがにpublicで研究のコードを張り付けることはダメだろうということで

  • GitHub Educationに申請をした。
  • apt install gitした、既に入ってた

登録

メールアドレス

git config --global user.email "[メールアドレス]"

ユーザ名

git config --global user.name "[ユーザ名]"

鍵認証の登録

作ってない場合は ssh-keygen で作る。(権限注意)

  • 公開鍵
  • 秘密鍵
    • .ssh/の直下に保存
  • 動作確認
    • ssh -T git@github.com
    • successfully authenticated とか書いてればok

使う

初期化

mkdir hogehoge
cd hogehoge
git init 
  • .git が追加される

追加

  • 適当にファイルを作る
    • git status
      • new file とか modified: とかがでてgit addしてっていわれる
    • git add .
      • 緑色に変わる
    • git commit -m "[メッセージ]"
      • 一言コメントを残せる
    • git push origin master
      • masterが更新される

最後に

申請結果が帰ってきたらprivateリポジトリ作ったり、 組織アカウントにforkしたりを覚えたりする予定。