Signed 8.8(8.8の固定小数点数) の計算方法

8.8は16bitsの長さ。
16bitsの16進数を10進数変換し256で除算。
先頭のbitが1ならば負なので、計算した値に-1を掛ける。
以上で完成です。

例)
0x8000 -> 32768
32768 / 256 = 128.0
先頭のbitが1なので-1を掛ける
128.0 × -1 = -128.0

0x2233 -> 8755
8755 / 256 = 34.19921875
先頭のbitは0なのでそのまま

カテゴリー: Micon関連 | コメントする

日本と世界の日の出日の入り時間(検索式版)の地名検索を変更

日本と世界の日の出日の入り時間(検索式版)の地名検索を変更しました。

今までは、地名の検索にGoogleのGeocoding APIを使用していましたが、区市町村についてはGeocoding APIを使用すること無く検索できる仕組みとしました。
Geocoding APIへの問い合わせキャッシュがうまく動作していなかった部分を修正しました。

稀に、検索制限がかかっていた事がありましたが、この対策で検索制限が低減するのではないかと期待しています。

日本と世界の日の出日の入り時間

カテゴリー: このサイト全般 | コメントする

ロリポップ!レンタルサーバーのPython Ver3.7でインストールされているライブラリ一覧

abc.py
aifc.py
antigravity.py
argparse.py
ast.py
asynchat.py
asyncio
asyncore.py
base64.py
bdb.py
binhex.py
bisect.py
bz2.py
cProfile.py
calendar.py
cgi.py
cgitb.py
chunk.py
cmd.py
code.py
codecs.py
codeop.py
collections
colorsys.py
compileall.py
concurrent
config-3.7m-x86_64-linux-gnu
configparser.py
contextlib.py
contextvars.py
copy.py
copyreg.py
crypt.py
csv.py
ctypes
curses
dataclasses.py
datetime.py
dbm
decimal.py
difflib.py
dis.py
distutils
doctest.py
dummy_threading.py
email
encodings
ensurepip
enum.py
filecmp.py
fileinput.py
fnmatch.py
formatter.py
fractions.py
ftplib.py
functools.py
genericpath.py
getopt.py
getpass.py
gettext.py
glob.py
gzip.py
hashlib.py
heapq.py
hmac.py
html
http
idlelib
imaplib.py
imghdr.py
imp.py
importlib
inspect.py
io.py
ipaddress.py
json
keyword.py
lib-dynload
lib2to3
linecache.py
locale.py
logging
lzma.py
macpath.py
mailbox.py
mailcap.py
mimetypes.py
modulefinder.py
multiprocessing
netrc.py
nntplib.py
ntpath.py
nturl2path.py
numbers.py
opcode.py
operator.py
optparse.py
os.py
pathlib.py
pdb.py
pickle.py
pickletools.py
pipes.py
pkgutil.py
platform.py
plistlib.py
poplib.py
posixpath.py
pprint.py
profile.py
pstats.py
pty.py
py_compile.py
pyclbr.py
pydoc.py
pydoc_data
queue.py
quopri.py
random.py
re.py
reprlib.py
rlcompleter.py
runpy.py
sched.py
secrets.py
selectors.py
shelve.py
shlex.py
shutil.py
signal.py
site-packages
site.py
smtpd.py
smtplib.py
sndhdr.py
socket.py
socketserver.py
sqlite3
sre_compile.py
sre_constants.py
sre_parse.py
ssl.py
stat.py
statistics.py
string.py
stringprep.py
struct.py
subprocess.py
sunau.py
symbol.py
symtable.py
sysconfig.py
tabnanny.py
tarfile.py
telnetlib.py
tempfile.py
test
textwrap.py
this.py
threading.py
timeit.py
tkinter
token.py
tokenize.py
trace.py
traceback.py
tracemalloc.py
tty.py
turtle.py
turtledemo
types.py
typing.py
unittest
urllib
uu.py
uuid.py
venv
warnings.py
wave.py
weakref.py
webbrowser.py
wsgiref
xdrlib.py
xml
xmlrpc
zipapp.py
zipfile.py
カテゴリー: web関連 | コメントする

日本と世界の日の出日の入り時間 ページに月の情報を追加

日本と世界の日の出日の入り時間 (都市名選択式版)
日本と世界の日の出日の入り時間 (都市名検索式版)
に、月の出、月の入り、月齢、南中高度を追加しました。
南中高度は、太陽と月、両方とも計算されます。

ご要望いただいていましたが、対応に長らく時間がかかってしまいました。

カテゴリー: web関連 | コメントする

日本と世界の日の出日の入り時間 ページを更新

いくつかのバージョンがありますが、これらページに含まれていたPrototype.jsを使用しない記述に変更しました。
見た目、機能については変更はありません。

日本と世界の日の出日の入り時間 (都市名選択式版)
日本と世界の日の出日の入り時間 (都市名検索式版)

カテゴリー: 更新記録 | コメントする

日本と世界の日の出日の入り時間情報(詳細) ページを更新

お使いになる見た目も機能も変わりませんが、内部構造を変更しました。
Prototype.jsを使用していましたが、使用しなくても機能を維持できることからライブラリを使用しない記述に変更しました。

カテゴリー: 更新記録 | コメントする

現在地の日の出日の入り時間 ページを更新

お使いになる見た目も機能も変わりませんが、内部構造を変更しました。
スマートフォン版のページはPrototype.jsを使用していました。このライブラリを使用しているとGoogleMapAPI(JavaScript)で警告が出るようになったこともあり、ライブラリーフリーとしました。

Prototype.jsは2015年9月22日のVersion 1.7.3が最終版となっていました。
長い間お世話になりました。

カテゴリー: 更新記録 | コメントする

CO2センサを検証

SensirionがPhotoacoustic sensor technology PASens®を使用したCO2センサを発売しています。日本語訳では「光音響センシング」。
NDIR(Non-Dispersive InfraRed(非分散型赤外線吸収法))と全く違う方式のセンサとその性能に興味を持ちました。

PASensはSensirionのホームページに以下のような説明があります。

光音響検出原理
SCD4x製品ラインは、光音響測定原理に基づいており、センサーの性能を損なうことなく光学測定セルを大幅に小型化できます。狭帯域光が測定セルに照射され、その光をCO2分子が吸収します。その結果、分子の並進運動エネルギーが増加し、それに応じて光学セル内の圧力も増加します。光源を変調することで、光音響信号と呼ばれる光学セル内の圧力に周期的な変化が生じ、これをマイクロフォンで測定します。

https://sensirion.com/jp/products/technology/

PASensのSCD40、SCD41とNDIR方式の4メーカー5種類のセンサを検証してみました。

検証したセンサは以下の5種類です。

メーカーSensirionSensirionSensirionAmphenol
Telaire
SenseairWinsen
型式SCD40SCD41SCD30T6703S8MH-Z19E
方式PASensPASensNDIRNDIRNDIRNDIR
参考価格
¥4,300
mouser
¥5,380
mouser
¥9,021
mouser
¥8,286
DigiKey
参考価格
AliExpress
$18$24$25$26$25$13

検証結果

絶対的な基準測定器があるわけではないので相対評価になりますが、
Winsen の MH-Z19E 以外はほぼ誤差の範囲の様な測定結果となりました(各々の測定値から5%以内程度)。
Winsen の MH-Z19E は過大な計測結果(15%ほど)となっています。

今回、検証の動機であった、PASens®を使用したCO2センサはどうか?
については、NDIR方式と特に差を感じない測定性能を持っているという結果となりました。

SCD4xはNDIR方式に比べて体積が小さく、また、価格面でも安価なグループに入り、性能も良い、と、非常に競争力のあるセンサでした。

カテゴリー: Micon関連, 海外通販 | コメントする

ESP32でWindowsの「arp -a」の様な事をしたい

ESP32でWindowsの「arp -a」の様な事をしたいと思い、調べた結果を書いておきます。

結論としては、ESP32ではwindowsの「arp -a」の様な事は出来ません。

ESP32はTCP/IPのプロトコルスタックとして、lwIP(Lightweight IP stack)を使用しています。このlwIPは自分が通信に使ったmac addressと静的に設定したmac addressしか保持しません。
また、Arduino+ESP32の初期設定では、保持されるエントリーは最大10です。
10台以上の機器が接続されるネットワークでは全ては保持されるエントリーに残りません。

promiscuous mode
で、
arp Who has
を取得するか

アドレス範囲にping等で通信を行い
etharp_get_entry()
でエントリーのmac addressを拾う…という方法

などをするしかなさそうです。

カテゴリー: ESP32 | コメントする

WordPressをバージョンアップ (Version6.1へ)

WordPressをWordPress 6.1にバージョンアップしました。

カテゴリー: WordPress, このサイト全般 | コメントする