Ecoer Logo
VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.037USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
5.008SP
├── Own SP
0.629SP
└── Incoming Deleg
+4.378SP

Detailed Balance

STEEM
balance
0.000STEEM
market_balance
0.000STEEM
savings_balance
0.000STEEM
reward_steem_balance
0.000STEEM
STEEM POWER
Own SP
0.629SP
Delegated Out
0.000SP
Delegation In
4.378SP
Effective Power
5.008SP
Reward SP (pending)
0.000SP
SBD
sbd_balance
0.000SBD
sbd_conversions
0.000SBD
sbd_market_balance
0.000SBD
savings_sbd_balance
0.000SBD
reward_sbd_balance
0.000SBD
{
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "reward_steem_balance": "0.000 STEEM",
  "vesting_shares": "1023.622864 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7120.036942 VESTS",
  "sbd_balance": "0.000 SBD",
  "savings_sbd_balance": "0.000 SBD",
  "reward_sbd_balance": "0.000 SBD",
  "conversions": []
}

Account Info

nameskysparrow
id629698
rank671,261
reputation74415709
created2018-01-20T04:30:45
recovery_accountsteem
proxyNone
post_count10
comment_count0
lifetime_vote_count0
witnesses_voted_for0
last_post2018-01-21T04:45:42
last_root_post2018-01-21T04:45:42
last_vote_time1970-01-01T00:00:00
proxied_vsf_votes0, 0, 0, 0
can_vote1
voting_power0
delayed_votes0
balance0.000 STEEM
savings_balance0.000 STEEM
sbd_balance0.000 SBD
savings_sbd_balance0.000 SBD
vesting_shares1023.622864 VESTS
delegated_vesting_shares0.000000 VESTS
received_vesting_shares7120.036942 VESTS
reward_vesting_balance0.000000 VESTS
vesting_balance0.000 STEEM
vesting_withdraw_rate0.000000 VESTS
next_vesting_withdrawal1969-12-31T23:59:59
withdrawn0
to_withdraw0
withdraw_routes0
savings_withdraw_requests0
last_account_recovery1970-01-01T00:00:00
reset_accountnull
last_owner_update1970-01-01T00:00:00
last_account_update1970-01-01T00:00:00
minedNo
sbd_seconds0
sbd_last_interest_payment1970-01-01T00:00:00
savings_sbd_last_interest_payment1970-01-01T00:00:00
{
  "id": 629698,
  "name": "skysparrow",
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM8NqjTaAiSbUzkHDECHnXQNxgjD2L22MwV39Q2rMBFFMdjHEm78",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5UrfBtvdgBhR3ftha4DWPf6GX9VZyvyJcrqs8nvfBmsK1uBkKS",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5Cg1foYwUEZPoZfRdGSgs9xD5vbjb4Y8oRycGMfSfiZy5FQhET",
        1
      ]
    ]
  },
  "memo_key": "STM6eiuZVzTcXxQf8kuB5SWqbCeeeLvkprX8XBCejfv5AEU2qLYaQ",
  "json_metadata": "",
  "posting_json_metadata": "",
  "proxy": "",
  "last_owner_update": "1970-01-01T00:00:00",
  "last_account_update": "1970-01-01T00:00:00",
  "created": "2018-01-20T04:30:45",
  "mined": false,
  "recovery_account": "steem",
  "last_account_recovery": "1970-01-01T00:00:00",
  "reset_account": "null",
  "comment_count": 0,
  "lifetime_vote_count": 0,
  "post_count": 10,
  "can_vote": true,
  "voting_manabar": {
    "current_mana": "8143659806",
    "last_update_time": 1779086247
  },
  "downvote_manabar": {
    "current_mana": 2035914951,
    "last_update_time": 1779086247
  },
  "voting_power": 0,
  "balance": "0.000 STEEM",
  "savings_balance": "0.000 STEEM",
  "sbd_balance": "0.000 SBD",
  "sbd_seconds": "0",
  "sbd_seconds_last_update": "1970-01-01T00:00:00",
  "sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_sbd_balance": "0.000 SBD",
  "savings_sbd_seconds": "0",
  "savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
  "savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
  "savings_withdraw_requests": 0,
  "reward_sbd_balance": "0.000 SBD",
  "reward_steem_balance": "0.000 STEEM",
  "reward_vesting_balance": "0.000000 VESTS",
  "reward_vesting_steem": "0.000 STEEM",
  "vesting_shares": "1023.622864 VESTS",
  "delegated_vesting_shares": "0.000000 VESTS",
  "received_vesting_shares": "7120.036942 VESTS",
  "vesting_withdraw_rate": "0.000000 VESTS",
  "next_vesting_withdrawal": "1969-12-31T23:59:59",
  "withdrawn": 0,
  "to_withdraw": 0,
  "withdraw_routes": 0,
  "curation_rewards": 0,
  "posting_rewards": 0,
  "proxied_vsf_votes": [
    0,
    0,
    0,
    0
  ],
  "witnesses_voted_for": 0,
  "last_post": "2018-01-21T04:45:42",
  "last_root_post": "2018-01-21T04:45:42",
  "last_vote_time": "1970-01-01T00:00:00",
  "post_bandwidth": 0,
  "pending_claimed_accounts": 0,
  "vesting_balance": "0.000 STEEM",
  "reputation": 74415709,
  "transfer_history": [],
  "market_history": [],
  "post_history": [],
  "vote_history": [],
  "other_history": [],
  "witness_votes": [],
  "tags_usage": [],
  "guest_bloggers": [],
  "rank": 671261
}

Withdraw Routes

IncomingOutgoing
Empty
Empty
{
  "incoming": [],
  "outgoing": []
}
From Date
To Date
steemdelegated 4.378 SP to @skysparrow
2026/05/18 06:37:27
delegatorsteem
delegateeskysparrow
vesting shares7120.036942 VESTS
Transaction InfoBlock #106151060/Trx 9fffca71c3e7cbe91e99920fd1ef9b6b9d6c0495
View Raw JSON Data
{
  "trx_id": "9fffca71c3e7cbe91e99920fd1ef9b6b9d6c0495",
  "block": 106151060,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-18T06:37:27",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "7120.036942 VESTS"
    }
  ]
}
steemdelegated 2.710 SP to @skysparrow
2026/05/13 05:46:06
delegatorsteem
delegateeskysparrow
vesting shares4407.826537 VESTS
Transaction InfoBlock #106006751/Trx 555ab4179fa0eaf067a34ab80070d679486e0a56
View Raw JSON Data
{
  "trx_id": "555ab4179fa0eaf067a34ab80070d679486e0a56",
  "block": 106006751,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-05-13T05:46:06",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "4407.826537 VESTS"
    }
  ]
}
steemdelegated 4.386 SP to @skysparrow
2026/04/26 05:48:42
delegatorsteem
delegateeskysparrow
vesting shares7132.552698 VESTS
Transaction InfoBlock #105518534/Trx 355b31eb785412d1cacc9aaf06873a4ca02a5419
View Raw JSON Data
{
  "trx_id": "355b31eb785412d1cacc9aaf06873a4ca02a5419",
  "block": 105518534,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-04-26T05:48:42",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "7132.552698 VESTS"
    }
  ]
}
steemdelegated 2.736 SP to @skysparrow
2026/01/24 00:58:21
delegatorsteem
delegateeskysparrow
vesting shares4449.373356 VESTS
Transaction InfoBlock #102872379/Trx 26f01eb925faccc4b16b0b9b3b262f06721f4f84
View Raw JSON Data
{
  "trx_id": "26f01eb925faccc4b16b0b9b3b262f06721f4f84",
  "block": 102872379,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2026-01-24T00:58:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "4449.373356 VESTS"
    }
  ]
}
steemdelegated 2.837 SP to @skysparrow
2024/12/17 20:08:06
delegatorsteem
delegateeskysparrow
vesting shares4613.592553 VESTS
Transaction InfoBlock #91318589/Trx dfc7f3bd21c2e10f965b526ad6dcfd28006830fa
View Raw JSON Data
{
  "trx_id": "dfc7f3bd21c2e10f965b526ad6dcfd28006830fa",
  "block": 91318589,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2024-12-17T20:08:06",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "4613.592553 VESTS"
    }
  ]
}
steemdelegated 2.941 SP to @skysparrow
2023/11/14 11:48:45
delegatorsteem
delegateeskysparrow
vesting shares4782.726085 VESTS
Transaction InfoBlock #79872724/Trx 875e25bdd31bafca93ebbc8e42c2e08dff08f258
View Raw JSON Data
{
  "trx_id": "875e25bdd31bafca93ebbc8e42c2e08dff08f258",
  "block": 79872724,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-11-14T11:48:45",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "4782.726085 VESTS"
    }
  ]
}
steemdelegated 4.747 SP to @skysparrow
2023/09/22 10:48:15
delegatorsteem
delegateeskysparrow
vesting shares7719.634871 VESTS
Transaction InfoBlock #78363360/Trx c6ba3a090627c062bda777128b2c768de829b9aa
View Raw JSON Data
{
  "trx_id": "c6ba3a090627c062bda777128b2c768de829b9aa",
  "block": 78363360,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2023-09-22T10:48:15",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "7719.634871 VESTS"
    }
  ]
}
steemdelegated 4.884 SP to @skysparrow
2022/11/03 18:12:21
delegatorsteem
delegateeskysparrow
vesting shares7941.686309 VESTS
Transaction InfoBlock #69121028/Trx 04068fec8cdb11921cdd8ece83de86f2e02767ad
View Raw JSON Data
{
  "trx_id": "04068fec8cdb11921cdd8ece83de86f2e02767ad",
  "block": 69121028,
  "trx_in_block": 10,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-11-03T18:12:21",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "7941.686309 VESTS"
    }
  ]
}
steemdelegated 5.019 SP to @skysparrow
2022/01/17 23:22:18
delegatorsteem
delegateeskysparrow
vesting shares8161.793910 VESTS
Transaction InfoBlock #60824238/Trx 2eba3b005330293a556901487c4c6f84e077110b
View Raw JSON Data
{
  "trx_id": "2eba3b005330293a556901487c4c6f84e077110b",
  "block": 60824238,
  "trx_in_block": 11,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2022-01-17T23:22:18",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "8161.793910 VESTS"
    }
  ]
}
steemdelegated 5.132 SP to @skysparrow
2021/06/14 06:32:09
delegatorsteem
delegateeskysparrow
vesting shares8345.988198 VESTS
Transaction InfoBlock #54614541/Trx e7a7978ed815c38bfc17ff6261f748267a494e08
View Raw JSON Data
{
  "trx_id": "e7a7978ed815c38bfc17ff6261f748267a494e08",
  "block": 54614541,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2021-06-14T06:32:09",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "8345.988198 VESTS"
    }
  ]
}
steemdelegated 5.247 SP to @skysparrow
2020/12/11 16:43:57
delegatorsteem
delegateeskysparrow
vesting shares8533.410172 VESTS
Transaction InfoBlock #49361791/Trx 836f20343ccdedfc7f0c32b8b30f650e02bd93cc
View Raw JSON Data
{
  "trx_id": "836f20343ccdedfc7f0c32b8b30f650e02bd93cc",
  "block": 49361791,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-11T16:43:57",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "8533.410172 VESTS"
    }
  ]
}
steemdelegated 1.176 SP to @skysparrow
2020/12/06 10:19:30
delegatorsteem
delegateeskysparrow
vesting shares1912.543513 VESTS
Transaction InfoBlock #49213306/Trx 0180623339426cfc50cc0f1153032a3b9df5662b
View Raw JSON Data
{
  "trx_id": "0180623339426cfc50cc0f1153032a3b9df5662b",
  "block": 49213306,
  "trx_in_block": 3,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-06T10:19:30",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "1912.543513 VESTS"
    }
  ]
}
steemdelegated 5.251 SP to @skysparrow
2020/12/05 20:21:51
delegatorsteem
delegateeskysparrow
vesting shares8539.618026 VESTS
Transaction InfoBlock #49196877/Trx a25ca7772d165c11620010fc9e899995c06f358d
View Raw JSON Data
{
  "trx_id": "a25ca7772d165c11620010fc9e899995c06f358d",
  "block": 49196877,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-12-05T20:21:51",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "8539.618026 VESTS"
    }
  ]
}
steemdelegated 1.181 SP to @skysparrow
2020/11/03 03:15:54
delegatorsteem
delegateeskysparrow
vesting shares1920.017158 VESTS
Transaction InfoBlock #48271490/Trx c2dfdf5030cd13f8963aa569e6567865a3edaa27
View Raw JSON Data
{
  "trx_id": "c2dfdf5030cd13f8963aa569e6567865a3edaa27",
  "block": 48271490,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-11-03T03:15:54",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "1920.017158 VESTS"
    }
  ]
}
steemdelegated 5.376 SP to @skysparrow
2020/05/09 11:23:00
delegatorsteem
delegateeskysparrow
vesting shares8742.423385 VESTS
Transaction InfoBlock #43223644/Trx 066b21fbe06622ae5f6d77b82043ababf7128058
View Raw JSON Data
{
  "trx_id": "066b21fbe06622ae5f6d77b82043ababf7128058",
  "block": 43223644,
  "trx_in_block": 8,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-09T11:23:00",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "8742.423385 VESTS"
    }
  ]
}
steemdelegated 1.201 SP to @skysparrow
2020/05/08 15:49:42
delegatorsteem
delegateeskysparrow
vesting shares1953.311140 VESTS
Transaction InfoBlock #43200736/Trx 82b0b664e1e2e5c2d419ec5cc2d6385af21caa28
View Raw JSON Data
{
  "trx_id": "82b0b664e1e2e5c2d419ec5cc2d6385af21caa28",
  "block": 43200736,
  "trx_in_block": 13,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-05-08T15:49:42",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "1953.311140 VESTS"
    }
  ]
}
steemdelegated 5.384 SP to @skysparrow
2020/04/16 03:27:45
delegatorsteem
delegateeskysparrow
vesting shares8755.310833 VESTS
Transaction InfoBlock #42569350/Trx 1b76f7371016bef443f7f17a24d857a5b8d311a9
View Raw JSON Data
{
  "trx_id": "1b76f7371016bef443f7f17a24d857a5b8d311a9",
  "block": 42569350,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-04-16T03:27:45",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "8755.310833 VESTS"
    }
  ]
}
2020/01/20 05:31:03
parent authorskysparrow
parent permlinklinux-iptables
authorsteemitboard
permlinksteemitboard-notify-skysparrow-20200120t053102000z
title
bodyCongratulations @skysparrow! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@skysparrow/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@skysparrow) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=skysparrow)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #40085086/Trx cd60bc5a2d00b0f1a89bba769b2ea5cd49fda8a3
View Raw JSON Data
{
  "trx_id": "cd60bc5a2d00b0f1a89bba769b2ea5cd49fda8a3",
  "block": 40085086,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2020-01-20T05:31:03",
  "op": [
    "comment",
    {
      "parent_author": "skysparrow",
      "parent_permlink": "linux-iptables",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-skysparrow-20200120t053102000z",
      "title": "",
      "body": "Congratulations @skysparrow! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@skysparrow/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@skysparrow) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=skysparrow)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 5.504 SP to @skysparrow
2019/05/12 20:34:51
delegatorsteem
delegateeskysparrow
vesting shares8950.927646 VESTS
Transaction InfoBlock #32852297/Trx 50b0dfecc336f38940517e7572dd94d3089c43e5
View Raw JSON Data
{
  "trx_id": "50b0dfecc336f38940517e7572dd94d3089c43e5",
  "block": 32852297,
  "trx_in_block": 31,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-05-12T20:34:51",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "8950.927646 VESTS"
    }
  ]
}
2019/01/20 05:43:06
parent authorskysparrow
parent permlinklinux-iptables
authorsteemitboard
permlinksteemitboard-notify-skysparrow-20190120t054305000z
title
bodyCongratulations @skysparrow! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@skysparrow/birthday1.png</td><td><p>Happy Birthday! - You are on the Steem blockchain for 1 year!<p></td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@skysparrow)_</sub> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!
json metadata{"image":["https://steemitboard.com/img/notify.png"]}
Transaction InfoBlock #29612711/Trx cb7306a9af449ec1bbf81355bc60a34c8ee51f2b
View Raw JSON Data
{
  "trx_id": "cb7306a9af449ec1bbf81355bc60a34c8ee51f2b",
  "block": 29612711,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2019-01-20T05:43:06",
  "op": [
    "comment",
    {
      "parent_author": "skysparrow",
      "parent_permlink": "linux-iptables",
      "author": "steemitboard",
      "permlink": "steemitboard-notify-skysparrow-20190120t054305000z",
      "title": "",
      "body": "Congratulations @skysparrow! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@skysparrow/birthday1.png</td><td><p>Happy Birthday! - You are on the Steem blockchain for 1 year!<p></td></tr></table>\n\n<sub>_[Click here to view your Board](https://steemitboard.com/@skysparrow)_</sub>\n\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
      "json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
    }
  ]
}
steemdelegated 5.627 SP to @skysparrow
2018/05/17 02:52:45
delegatorsteem
delegateeskysparrow
vesting shares9150.442738 VESTS
Transaction InfoBlock #22497754/Trx 0b9c96da26c90a034c8186086cc5a716aec5db35
View Raw JSON Data
{
  "trx_id": "0b9c96da26c90a034c8186086cc5a716aec5db35",
  "block": 22497754,
  "trx_in_block": 37,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-05-17T02:52:45",
  "op": [
    "delegate_vesting_shares",
    {
      "delegator": "steem",
      "delegatee": "skysparrow",
      "vesting_shares": "9150.442738 VESTS"
    }
  ]
}
2018/01/25 06:43:00
required auths[]
required posting auths["skysparrow"]
idfollow
json["follow",{"follower":"skysparrow","following":"vop-news","what":["blog"]}]
Transaction InfoBlock #19280181/Trx 5bb53baac2ac96328a1dcd5e3c249e9bc3ce1e27
View Raw JSON Data
{
  "trx_id": "5bb53baac2ac96328a1dcd5e3c249e9bc3ce1e27",
  "block": 19280181,
  "trx_in_block": 6,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-25T06:43:00",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "skysparrow"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"vop-news\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/21 14:31:27
voterprovodovair
authorskysparrow
permlinklinux-iptables
weight10000 (100.00%)
Transaction InfoBlock #19174389/Trx 76adbe637bca3c531751612d68d5664a9f092e98
View Raw JSON Data
{
  "trx_id": "76adbe637bca3c531751612d68d5664a9f092e98",
  "block": 19174389,
  "trx_in_block": 48,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T14:31:27",
  "op": [
    "vote",
    {
      "voter": "provodovair",
      "author": "skysparrow",
      "permlink": "linux-iptables",
      "weight": 10000
    }
  ]
}
2018/01/21 14:24:18
votersvalmta
authorskysparrow
permlinkpython-kalman-filter-install
weight10000 (100.00%)
Transaction InfoBlock #19174246/Trx 516b18c70ba9d2419093cea136d443ddf3b4a1f7
View Raw JSON Data
{
  "trx_id": "516b18c70ba9d2419093cea136d443ddf3b4a1f7",
  "block": 19174246,
  "trx_in_block": 44,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T14:24:18",
  "op": [
    "vote",
    {
      "voter": "svalmta",
      "author": "skysparrow",
      "permlink": "python-kalman-filter-install",
      "weight": 10000
    }
  ]
}
2018/01/21 14:24:15
voterlidosashey
authorskysparrow
permlinkpython-kalman-filter-install
weight10000 (100.00%)
Transaction InfoBlock #19174245/Trx 7683c18fb385093457140c6351a6f4762830f578
View Raw JSON Data
{
  "trx_id": "7683c18fb385093457140c6351a6f4762830f578",
  "block": 19174245,
  "trx_in_block": 19,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T14:24:15",
  "op": [
    "vote",
    {
      "voter": "lidosashey",
      "author": "skysparrow",
      "permlink": "python-kalman-filter-install",
      "weight": 10000
    }
  ]
}
2018/01/21 14:23:54
voterwetpoverin
authorskysparrow
permlinkpython-kalman-filter-install
weight10000 (100.00%)
Transaction InfoBlock #19174238/Trx f20b97d644a76e4b69eba82e8450e12874c01b24
View Raw JSON Data
{
  "trx_id": "f20b97d644a76e4b69eba82e8450e12874c01b24",
  "block": 19174238,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T14:23:54",
  "op": [
    "vote",
    {
      "voter": "wetpoverin",
      "author": "skysparrow",
      "permlink": "python-kalman-filter-install",
      "weight": 10000
    }
  ]
}
2018/01/21 12:13:39
required auths[]
required posting auths["skysparrow"]
idfollow
json["follow",{"follower":"skysparrow","following":"rmp","what":["blog"]}]
Transaction InfoBlock #19171634/Trx 31f813bc29b07c94fcabd76b9356b459383d1ca5
View Raw JSON Data
{
  "trx_id": "31f813bc29b07c94fcabd76b9356b459383d1ca5",
  "block": 19171634,
  "trx_in_block": 29,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T12:13:39",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "skysparrow"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"rmp\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/21 12:13:36
required auths[]
required posting auths["skysparrow"]
idfollow
json["follow",{"follower":"skysparrow","following":"julieo","what":["blog"]}]
Transaction InfoBlock #19171633/Trx dca3b423935c7cd1ece27e11cfe038458a5e2fe3
View Raw JSON Data
{
  "trx_id": "dca3b423935c7cd1ece27e11cfe038458a5e2fe3",
  "block": 19171633,
  "trx_in_block": 126,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T12:13:36",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "skysparrow"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"julieo\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/21 12:13:36
required auths[]
required posting auths["skysparrow"]
idfollow
json["follow",{"follower":"skysparrow","following":"hotlist","what":["blog"]}]
Transaction InfoBlock #19171633/Trx 4548d291731720a4dbd79c61dcc721b554b1dbaf
View Raw JSON Data
{
  "trx_id": "4548d291731720a4dbd79c61dcc721b554b1dbaf",
  "block": 19171633,
  "trx_in_block": 86,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T12:13:36",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "skysparrow"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"hotlist\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/21 05:22:03
required auths[]
required posting auths["skysparrow"]
idfollow
json["follow",{"follower":"skysparrow","following":"ochardkarl","what":["blog"]}]
Transaction InfoBlock #19163407/Trx d9db57022cd25ad65357cc42f12dfe5cb4fed0af
View Raw JSON Data
{
  "trx_id": "d9db57022cd25ad65357cc42f12dfe5cb4fed0af",
  "block": 19163407,
  "trx_in_block": 17,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T05:22:03",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "skysparrow"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"ochardkarl\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/21 04:47:54
required auths[]
required posting auths["skysparrow"]
idfollow
json["follow",{"follower":"skysparrow","following":"a-0-1","what":["blog"]}]
Transaction InfoBlock #19162724/Trx 5f38def1a18e0fb9a15cb88516109ead877da42c
View Raw JSON Data
{
  "trx_id": "5f38def1a18e0fb9a15cb88516109ead877da42c",
  "block": 19162724,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T04:47:54",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "skysparrow"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"a-0-1\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/21 04:47:54
required auths[]
required posting auths["skysparrow"]
idfollow
json["follow",{"follower":"skysparrow","following":"byresteem","what":["blog"]}]
Transaction InfoBlock #19162724/Trx f6ce0a7aa8fba0899b0240cbdc6cc9b4511f4744
View Raw JSON Data
{
  "trx_id": "f6ce0a7aa8fba0899b0240cbdc6cc9b4511f4744",
  "block": 19162724,
  "trx_in_block": 1,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T04:47:54",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "skysparrow"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"byresteem\",\"what\":[\"blog\"]}]"
    }
  ]
}
2018/01/21 04:47:51
required auths[]
required posting auths["skysparrow"]
idfollow
json["follow",{"follower":"skysparrow","following":"cryptoriddler","what":["blog"]}]
Transaction InfoBlock #19162723/Trx 7de4206b2430c966ed1b06ec3aff5ef25d9eb511
View Raw JSON Data
{
  "trx_id": "7de4206b2430c966ed1b06ec3aff5ef25d9eb511",
  "block": 19162723,
  "trx_in_block": 39,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T04:47:51",
  "op": [
    "custom_json",
    {
      "required_auths": [],
      "required_posting_auths": [
        "skysparrow"
      ],
      "id": "follow",
      "json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"cryptoriddler\",\"what\":[\"blog\"]}]"
    }
  ]
}
skysparrowpublished a new post: linux-iptables
2018/01/21 04:45:42
parent author
parent permlinklinux
authorskysparrow
permlinklinux-iptables
titlelinux iptables 설명
body1. iptables 란? iptables는 리눅스상에서 방화벽을 설정하는 도구로서 커널 2.4 이전 버전에서 사용되던 ipchains를 대신하는 방화벽 도구이다. iptables는 커널상에서의 netfilter 패킷필터링 기능을 사용자 공간에서 제어하는 수준으로 사용할 수 있다. 패킷필터링이란 지나가는 패킷의 해더를 보고 그 전체 패킷의 운명을 결정하는 것을 말한다. 일반적으로 패킷은 해더와 데이터를 가진다. 해더에 필터링할 정보인 출발지IP:PORT, 도착지IP:PORT, checksum, 프로토콜 옵션등을 가지며 데이터는 각각의 전송데이터가 들어간다. 특정 조건을 가지고 있는 패킷에 대해 허용(ACCEPT)과 차단(DROP)등을 지정할 수 있으며, 특정 조건등을 통해 다양한 방식의 패킷 필터링과 처리 방식을 지원한다. iptables 정책은 여러 구분으로 나눠지며 중요한 부분은 Chain이다. Chain은 패킷이 조작될 상태를 지정하며 iptables에 내장된 기본 Chain은 다음과 같다. (기본 Chain은 영구적이며 삭제가 불가능하다. 이외에 -N 옵션으로 지정하는 사용자 정의 Chain이 있다.) Chain INPUT : 서버로 들어오는 기본 정책 Chain FORWARD : 서버에서 forwarding 기본 정책 Chain OUTPUT : 서버에서 나가는 기본 정책 ------> INPUT ------> Linux Server ------> OUTPUT ------> | | +------------- FORWARD ---------------+ Linux Server를 목적지로 삼는 모든 패킷은 INPUT Chain을 통과하고 Linux Server에서 생성되 외부로 보내지는 모든 패킷은 OUTPUT Chain을 통과하게 된다. FORWARD Chain의 경우 현재의 Linux Server가 목적지가 아닌 패킷이 통과하는 Chain이다. (FORWARD Chain은 NAT(네트워크 공유) 기능 사용을 위해 사용된다.) 2 iptables의 구조 먼저 iptables에 대해 살펴보도록 하자. iptables는 다음의 구조로 구성된다. iptables -A INPUT -s [발신지] --sport [발신지 포트] -d [목적지] --dport [목적지 포트] -j [정책] iptables 명령 -A : 새로운 규칙을 추가한다. -D : 규칙을 삭제한다. -C : 패킷을 테스트한다. -I : 새로운 규칙을 삽입한다. -R : 새로운 규칙으로 교체한다. -L : 새로운 규칙을 출력한다. -F : 체인의 모든 규칙을 삭제한다. -Z : 모든 체인의 패킷과 바이트 카운터 값을 0으로 만든다. -N : 새로운 체인을 만든다. -X : 체인을 삭제한다. -P : 기본 정책을 변경한다. iptables 옵션 -p : 패킷의 프로토콜의 포트번호 또는 이름을 명시한다. (ex : tcp, udp, 21, 22) -s : 패킷의 발신지를 명시한다. (ex : address[/mask]) -d : 패킷의 도착지를 명시한다. -i : 규칙을 적용할 인터페이스 이름을 명시한다. (ex : eth0, eth1) -j : 규칙에 맞는 패킷을 어떻게 처리할 것인가를 명시한다. -y : 접속 요청 패킷인 SYN 패킷을 허용하지 않는다. -f : 두 번째 이후의 조각에 대해 규칙을 명시한다. 3 iptables 규칙 추가 예를 들어 만약 127.0.0.1 즉, 로컬에서 요청하는 모든 ICMP 패킷에 대해 무시하고자 할 때 어떻게 하면 될까? ping 요청에 사용되는 프토토콜은 ICMP 프로토콜이며, 발신 주소는 127.0.0.1이다. 패킷 필터의 목표는 폐기(DROP)이며, 사용하는 프로그램은 ping이다. 이를 기반으로 룰을 만들면 다음과 같다. // 체인을 추가하기 전 iptables # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination // 127.0.0.1 로 ping이 정상적으로 허용됨을 알 수 있다. # ping -c 3 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.029 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.028 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.026 ms --- 127.0.0.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1998ms rtt min/avg/max/mdev = 0.026/0.027/0.029/0.006 ms // 127.0.0.1 로 가는 ping을 거부하는 체인 추가 # iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP // iptables에 체인이 추가됨을 확인할 수 있다. # iptables -L // 현재 iptables에 icmp DROP 룰이 적용되어 있다. Chain INPUT (policy ACCEPT) target prot opt source destination DROP icmp -- SUNSYSTEM anywhere Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination // ping이 거부됨을 확인할 수 있다. # ping -c 3 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. --- 127.0.0.1 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2008ms 4 iptables 규칙 제거 iptables의 체인 입력과 마찬가지로 삭제를 할 때에도 동일하게 입력하면 된다. iptables -D INPUT -s [발신지] --sport [발신지 포트] -d [목적지] --dport [목적지 포트] -j [정책] iptables -D INPUT [필터링 번호] (필터링 번호는 service iptables stat을 통해 확인할 수 있다.) ※ iptables -F INPUT 을 입력할 경우 모든 체인이 삭제된다. 그러면 위에 입력했던 체인을 제거해보도록 하자. # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination DROP icmp -- SUNSYSTEM anywhere Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination # iptables -D INPUT 1 // iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP를 사용해서 삭제할 수도 있다. # iptables -L Cain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 5. iptables 정책 순서 모든 방화벽은 순차적 실행이다. 즉 등록 순서에 있어서 먼저 등록한 대해서 효력이 유효하기 때문에 등록시에는 순서가 매우 중요하다. 모든 입출력 패킷에 대해 거부하는 설정이 먼저 등록되면 그 이후에 포트를 열어주는 설정을 하여도 효과가 없다. 그러므로 허용하는 정책을 먼저 정의한 다음 거부하는 정책을 설정해야 한다. // 아래와 같이 설정하면 우선적으로 22번 포트가 열린 후 나중에 22번~30번 포트가 막히기 때문에 SSH 접속이 가능하다. # iptables -A INPUT -p tcp --dport 22 -j ACCEPT # iptables -A INPUT -p tcp --dport 22:30 -j DROP # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ssh DROP tcp -- anywhere anywhere tcp dpts:ssh:30 // 아래와 같이 설정하면 우선적으로 22번~30번 포트가 막히기 때문에 뒤에서 아무리 22번 포트를 열어도 외부에서 SSH로 접속할 수 없게 된다. // iptables로 입력할 경우 바로 적용이 되기 때문에 원격에서 작업할 경우엔 주의하자. # iptables -A INPUT -p tcp --dport 22:30 -j DROP # iptables -A INPUT -p tcp --dport 22 -j ACCEPT 6. 서비스를 위한 기본 설정 처음 설치시 방화벽을 설정하면 /etc/sysconfig/iptables 파일이 생성된다. 디폴트 iptables 파일을 삭제한 후 아래의 포트를 추가하도록 하자 // 기존 iptables 파일 제거 # rm -rf /etc/sysconfig/iptables rm: remove 일반 파일 `/etc/sysconfig/iptables"? y // iptables 정책 추가 # iptables -A INPUT -p tcp --dport 20 -j ACCEPT // ftp-data # iptables -A INPUT -p tcp --dport 21 -j ACCEPT // ftp # iptables -A INPUT -p tcp --dport 22 -j ACCEPT // ssh # iptables -A INPUT -p udp --dport 53 -j ACCEPT // named # iptables -A INPUT -p tcp --dport 80 -j ACCEPT // http # iptables -A INPUT -p tcp --dport 110 -j ACCEPT // pop3 # iptables -A INPUT -p tcp --dport 143 -j ACCEPT //imap # iptables -A INPUT -p tcp --dport 3306 -j ACCEPT // mysql # iptables -A INPUT -p icmp --icmp-type echo-request -j DROP // ping에 대한 응답 거부 # iptables -A INPUT -p tcp --dport 1:65335 -j DROP // 서비스포트 모두 거부 // iptables 확인 # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ftp-data ACCEPT tcp -- anywhere anywhere tcp dpt:ftp ACCEPT tcp -- anywhere anywhere tcp dpt:ssh ACCEPT udp -- anywhere anywhere udp dpt:domain ACCEPT tcp -- anywhere anywhere tcp dpt:http ACCEPT tcp -- anywhere anywhere tcp dpt:pop3 ACCEPT tcp -- anywhere anywhere tcp dpt:imap ACCEPT tcp -- anywhere anywhere tcp dpt:mysql DROP icmp -- anywhere anywhere icmp echo-request DROP tcp -- anywhere anywhere tcp dpts:tcpmux:65335 Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination // iptables 를 저장 # service iptables save 방화벽 규칙을 /etc/sysconfig/iptables에 저장 중: [ OK ] # ls /etc/sysconfig/iptables* /etc/sysconfig/iptables /etc/sysconfig/iptables-config // iptables 재시작 # service iptables start 방화벽 규칙을 삭제하는 중: [ OK ] chains를 ACCEPT 규칙으로 설정함: filter [ OK ] iptables 모듈을 제거하는 중: [ OK ] iptables 방화벽 규칙들을 적용하는 중: [ OK ] 추가 iptables 모듈을 읽어오는 중: ip_conntrack_netbios_ns [ OK ] // iptables 상태 # service iptables status 테이블: filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 4 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:110 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:143 8 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306 9 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8 10 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:1:65335 Chain FORWARD (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination // nmap 포트 스캔 # nmap localhost Starting Nmap 4.11 ( http://www.insecure.org/nmap/) at 2009-04-14 13:45 KST Interesting ports on SUNSYSTEM (127.0.0.1): Not shown: 1673 filtered ports PORT STATE SERVICE 20/tcp closed ftp-data 21/tcp closed ftp 22/tcp open ssh 80/tcp closed http 110/tcp open pop3 143/tcp closed imap 3306/tcp open mysql 7. iptables의 확장 1초동안 80포트에 똑같은 IP가 10번 이상의 SYN가 들어오면 드랍시킨다. (즉, 정상적인 요청이 아닌 웹서비스 공격으로 간주하여 요청패킷을 폐기시켜 응답하지 않도록 한다.) 이외의 자세한 사항은 http://netfilter.org의 HOWTO를 읽어보길 바란다. # iptables -A INPUT -p tcp --dport 80 -m recent --update --seconds 1 --hitcount 10 --name HTTP -j DROP 스티밋에서의 큐레이션이 목적이 아니라. 평소 기록해둔 개발관련 내용을 블로깅 하는중입니다. 해당 포스팅의 출처를 찾기 어려워서 기록하지 못했습니다. 해당 포스팅의 제작자라면 출처를 알려주세요~
json metadata{"tags":["linux","iptables"],"links":["http://www.insecure.org/nmap/","http://netfilter.org"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19162680/Trx b5e59acb568f4d00ea482fb753190fb2f9e13a42
View Raw JSON Data
{
  "trx_id": "b5e59acb568f4d00ea482fb753190fb2f9e13a42",
  "block": 19162680,
  "trx_in_block": 12,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T04:45:42",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "linux",
      "author": "skysparrow",
      "permlink": "linux-iptables",
      "title": "linux iptables  설명",
      "body": "1. iptables 란? \n  \niptables는 리눅스상에서 방화벽을 설정하는 도구로서 커널 2.4 이전 버전에서 사용되던 ipchains를 대신하는 방화벽 도구이다. \niptables는 커널상에서의 netfilter 패킷필터링 기능을 사용자 공간에서 제어하는 수준으로 사용할 수 있다. \n  \n패킷필터링이란 지나가는 패킷의 해더를 보고 그 전체 패킷의 운명을 결정하는 것을 말한다. \n일반적으로 패킷은 해더와 데이터를 가진다. \n해더에 필터링할 정보인 출발지IP:PORT, 도착지IP:PORT, checksum, 프로토콜 옵션등을 가지며 데이터는 각각의 전송데이터가 들어간다. \n  \n특정 조건을 가지고 있는 패킷에 대해 허용(ACCEPT)과 차단(DROP)등을 지정할 수 있으며, 특정 조건등을 통해 다양한 방식의 패킷 필터링과 처리 방식을 지원한다. \n  \niptables 정책은 여러 구분으로 나눠지며 중요한 부분은 Chain이다. \nChain은 패킷이 조작될 상태를 지정하며 iptables에 내장된 기본 Chain은 다음과 같다. \n(기본 Chain은 영구적이며 삭제가 불가능하다. 이외에 -N 옵션으로 지정하는 사용자 정의 Chain이 있다.) \n  \nChain INPUT : 서버로 들어오는 기본 정책 \nChain FORWARD : 서버에서 forwarding 기본 정책 \nChain OUTPUT : 서버에서 나가는 기본 정책 \n------> INPUT ------> Linux Server ------> OUTPUT ------> \n    |          |  \n    +------------- FORWARD ---------------+  \n  \n\nLinux Server를 목적지로 삼는 모든 패킷은 INPUT Chain을 통과하고 \nLinux Server에서 생성되 외부로 보내지는 모든 패킷은 OUTPUT Chain을 통과하게 된다. \nFORWARD Chain의 경우 현재의 Linux Server가 목적지가 아닌 패킷이 통과하는 Chain이다. \n(FORWARD Chain은 NAT(네트워크 공유) 기능 사용을 위해 사용된다.) \n  \n  \n2 iptables의 구조 \n  \n먼저 iptables에 대해 살펴보도록 하자. \niptables는 다음의 구조로 구성된다. \niptables -A INPUT -s [발신지] --sport [발신지 포트] -d [목적지] --dport [목적지 포트] -j [정책] \n  \niptables 명령 \n-A : 새로운 규칙을 추가한다. \n-D : 규칙을 삭제한다. \n-C : 패킷을 테스트한다. \n-I : 새로운 규칙을 삽입한다. \n-R : 새로운 규칙으로 교체한다. \n-L : 새로운 규칙을 출력한다. \n-F : 체인의 모든 규칙을 삭제한다. \n-Z : 모든 체인의 패킷과 바이트 카운터 값을 0으로 만든다. \n-N : 새로운 체인을 만든다. \n-X : 체인을 삭제한다. \n-P : 기본 정책을 변경한다. \n  \niptables 옵션 \n-p : 패킷의 프로토콜의 포트번호 또는 이름을 명시한다. (ex : tcp, udp, 21, 22) \n-s : 패킷의 발신지를 명시한다. (ex : address[/mask]) \n-d : 패킷의 도착지를 명시한다. \n-i : 규칙을 적용할 인터페이스 이름을 명시한다. (ex : eth0, eth1) \n-j : 규칙에 맞는 패킷을 어떻게 처리할 것인가를 명시한다. \n-y : 접속 요청 패킷인 SYN 패킷을 허용하지 않는다. \n-f : 두 번째 이후의 조각에 대해 규칙을 명시한다. \n\n  \n  \n3 iptables 규칙 추가 \n  \n예를 들어 만약 127.0.0.1 즉, 로컬에서 요청하는 모든 ICMP 패킷에 대해 무시하고자 할 때 어떻게 하면 될까? \nping 요청에 사용되는 프토토콜은 ICMP 프로토콜이며, 발신 주소는 127.0.0.1이다. \n패킷 필터의 목표는 폐기(DROP)이며, 사용하는 프로그램은 ping이다. \n이를 기반으로 룰을 만들면 다음과 같다. \n// 체인을 추가하기 전 iptables \n# iptables -L \n  Chain INPUT (policy ACCEPT) \n  target    prot opt source              destination \n  \n  Chain FORWARD (policy ACCEPT) \n  target    prot opt source              destination \n  \n  Chain OUTPUT (policy ACCEPT) \n  target    prot opt source              destination \n  \n// 127.0.0.1 로 ping이 정상적으로 허용됨을 알 수 있다. \n# ping -c 3 127.0.0.1 \n  PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. \n  64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.029 ms \n  64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.028 ms \n  64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.026 ms \n  --- 127.0.0.1 ping statistics --- \n  3 packets transmitted, 3 received, 0% packet loss, time 1998ms \n  rtt min/avg/max/mdev = 0.026/0.027/0.029/0.006 ms \n\n// 127.0.0.1 로 가는 ping을 거부하는 체인 추가 \n# iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP \n  \n// iptables에 체인이 추가됨을 확인할 수 있다. \n# iptables -L  // 현재 iptables에 icmp DROP 룰이 적용되어 있다. \n  Chain INPUT (policy ACCEPT) \n  target      prot opt source                      destination \n  DROP      icmp --  SUNSYSTEM            anywhere \n  \n  Chain FORWARD (policy ACCEPT) \n  target      prot opt source                    destination \n  \n  Chain OUTPUT (policy ACCEPT) \n  target      prot opt source                    destination \n  \n// ping이 거부됨을 확인할 수 있다. \n# ping -c 3 127.0.0.1 \n  PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. \n  \n  --- 127.0.0.1 ping statistics --- \n  3 packets transmitted, 0 received, 100% packet loss, time 2008ms \n  \n\n\n  \n4 iptables 규칙 제거 \n  \niptables의 체인 입력과 마찬가지로 삭제를 할 때에도 동일하게 입력하면 된다. \niptables -D INPUT -s [발신지] --sport [발신지 포트] -d [목적지] --dport [목적지 포트] -j [정책] \niptables -D INPUT [필터링 번호] \n(필터링 번호는 service iptables stat을 통해 확인할 수 있다.) \n※ iptables -F INPUT 을 입력할 경우 모든 체인이 삭제된다. \n  \n그러면 위에 입력했던 체인을 제거해보도록 하자. \n  \n# iptables -L \n  Chain INPUT (policy ACCEPT) \n  target      prot opt source                      destination \n  DROP      icmp --  SUNSYSTEM            anywhere \n  \n  Chain FORWARD (policy ACCEPT) \n  target      prot opt source                      destination \n  \n  Chain OUTPUT (policy ACCEPT) \n  target      prot opt source                      destination \n\n# iptables -D INPUT 1 \n// iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP를 사용해서 삭제할 수도 있다. \n  \n# iptables -L \n  Cain INPUT (policy ACCEPT) \n  target    prot opt source              destination \n  \n  Chain FORWARD (policy ACCEPT) \n  target    prot opt source              destination \n  \n  Chain OUTPUT (policy ACCEPT) \n  target    prot opt source              destination \n\n  \n  \n5. iptables 정책 순서 \n  \n모든 방화벽은 순차적 실행이다. \n즉 등록 순서에 있어서 먼저 등록한 대해서 효력이 유효하기 때문에 등록시에는 순서가 매우 중요하다. \n모든 입출력 패킷에 대해 거부하는 설정이 먼저 등록되면 그 이후에 포트를 열어주는 설정을 하여도 효과가 없다. \n그러므로 허용하는 정책을 먼저 정의한 다음 거부하는 정책을 설정해야 한다. \n  \n// 아래와 같이 설정하면 우선적으로 22번 포트가 열린 후 나중에 22번~30번 포트가 막히기 때문에 SSH 접속이 가능하다. \n# iptables -A INPUT -p tcp --dport 22 -j ACCEPT \n# iptables -A INPUT -p tcp --dport 22:30 -j DROP \n  \n# iptables -L \n  Chain INPUT (policy ACCEPT) \n  target        prot opt source                destination \n  ACCEPT    tcp  --  anywhere            anywhere            tcp dpt:ssh \n  DROP        tcp  --  anywhere            anywhere            tcp dpts:ssh:30 \n\n// 아래와 같이 설정하면 우선적으로 22번~30번 포트가 막히기 때문에 뒤에서 아무리 22번 포트를 열어도 외부에서 SSH로 \n접속할 수 없게 된다. \n// iptables로 입력할 경우 바로 적용이 되기 때문에 원격에서 작업할 경우엔 주의하자. \n# iptables -A INPUT -p tcp --dport 22:30 -j DROP \n# iptables -A INPUT -p tcp --dport 22 -j ACCEPT \n  \n\n  \n  \n6. 서비스를 위한 기본 설정 \n  \n처음 설치시 방화벽을 설정하면 /etc/sysconfig/iptables 파일이 생성된다. \n디폴트 iptables 파일을 삭제한 후 아래의 포트를 추가하도록 하자 \n// 기존 iptables 파일 제거 \n# rm -rf /etc/sysconfig/iptables \n  rm: remove 일반 파일 `/etc/sysconfig/iptables\"? y \n  \n// iptables 정책 추가 \n# iptables -A INPUT -p tcp --dport 20 -j ACCEPT  // ftp-data \n# iptables -A INPUT -p tcp --dport 21 -j ACCEPT  // ftp \n# iptables -A INPUT -p tcp --dport 22 -j ACCEPT  // ssh \n# iptables -A INPUT -p udp --dport 53 -j ACCEPT  // named \n# iptables -A INPUT -p tcp --dport 80 -j ACCEPT  // http \n# iptables -A INPUT -p tcp --dport 110 -j ACCEPT  // pop3 \n# iptables -A INPUT -p tcp --dport 143 -j ACCEPT  //imap \n# iptables -A INPUT -p tcp --dport 3306 -j ACCEPT  // mysql \n# iptables -A INPUT -p icmp --icmp-type echo-request -j DROP // ping에 대한 응답 거부 \n# iptables -A INPUT -p tcp --dport 1:65335 -j DROP // 서비스포트 모두 거부 \n  \n// iptables 확인 \n# iptables -L \n  Chain INPUT (policy ACCEPT) \n  target    prot opt source              destination \n  ACCEPT    tcp  --  anywhere            anywhere            tcp dpt:ftp-data \n  ACCEPT    tcp  --  anywhere            anywhere            tcp dpt:ftp \n  ACCEPT    tcp  --  anywhere            anywhere            tcp dpt:ssh \n  ACCEPT    udp  --  anywhere            anywhere            udp dpt:domain \n  ACCEPT    tcp  --  anywhere            anywhere            tcp dpt:http \n  ACCEPT    tcp  --  anywhere            anywhere            tcp dpt:pop3 \n  ACCEPT    tcp  --  anywhere            anywhere            tcp dpt:imap \n  ACCEPT    tcp  --  anywhere            anywhere            tcp dpt:mysql \n  DROP        icmp --  anywhere            anywhere            icmp echo-request \n  DROP        tcp  --  anywhere            anywhere            tcp dpts:tcpmux:65335 \n  \n  Chain FORWARD (policy ACCEPT) \n  target    prot opt source              destination \n  \n  Chain OUTPUT (policy ACCEPT) \n  target    prot opt source              destination \n\n// iptables 를 저장 \n# service iptables save \n  방화벽 규칙을 /etc/sysconfig/iptables에 저장 중:          [  OK  ] \n  \n# ls /etc/sysconfig/iptables* \n  /etc/sysconfig/iptables  /etc/sysconfig/iptables-config \n\n// iptables 재시작 \n# service iptables start \n  방화벽 규칙을 삭제하는 중:                                              [  OK  ] \n  chains를 ACCEPT 규칙으로 설정함: filter                          [  OK  ] \n  iptables 모듈을 제거하는 중:                                            [  OK  ] \n  iptables 방화벽 규칙들을 적용하는 중:                              [  OK  ] \n  추가 iptables 모듈을 읽어오는 중: ip_conntrack_netbios_ns  [  OK  ] \n\n// iptables 상태 \n# service iptables status \n  테이블: filter \n  Chain INPUT (policy ACCEPT) \n  num  target    prot opt source              destination \n  1    ACCEPT    tcp  --  0.0.0.0/0            0.0.0.0/0          tcp dpt:20 \n  2    ACCEPT    tcp  --  0.0.0.0/0            0.0.0.0/0          tcp dpt:21 \n  3    ACCEPT    tcp  --  0.0.0.0/0            0.0.0.0/0          tcp dpt:22 \n  4    ACCEPT    udp  --  0.0.0.0/0            0.0.0.0/0          udp dpt:53 \n  5    ACCEPT    tcp  --  0.0.0.0/0            0.0.0.0/0          tcp dpt:80 \n  6    ACCEPT    tcp  --  0.0.0.0/0            0.0.0.0/0          tcp dpt:110 \n  7    ACCEPT    tcp  --  0.0.0.0/0            0.0.0.0/0          tcp dpt:143 \n  8    ACCEPT    tcp  --  0.0.0.0/0            0.0.0.0/0          tcp dpt:3306 \n  9    DROP        icmp --  0.0.0.0/0            0.0.0.0/0          icmp type 8 \n  10  DROP        tcp  --  0.0.0.0/0            0.0.0.0/0          tcp dpts:1:65335 \n  \n  Chain FORWARD (policy ACCEPT) \n  num  target    prot opt source              destination \n  \n  Chain OUTPUT (policy ACCEPT) \n  num  target    prot opt source              destination \n\n// nmap 포트 스캔 \n# nmap localhost \n  Starting Nmap 4.11 ( http://www.insecure.org/nmap/) at 2009-04-14 13:45 KST \n  Interesting ports on SUNSYSTEM (127.0.0.1): \n  Not shown: 1673 filtered ports \n  PORT    STATE  SERVICE \n  20/tcp  closed ftp-data \n  21/tcp  closed ftp \n  22/tcp  open  ssh \n  80/tcp  closed http \n  110/tcp  open  pop3 \n  143/tcp  closed imap \n  3306/tcp open  mysql \n\n  \n\n  \n  \n7. iptables의 확장 \n1초동안 80포트에 똑같은 IP가 10번 이상의 SYN가 들어오면 드랍시킨다. \n(즉, 정상적인 요청이 아닌 웹서비스 공격으로 간주하여 요청패킷을 폐기시켜 응답하지 않도록 한다.) \n이외의 자세한 사항은 http://netfilter.org의 HOWTO를 읽어보길 바란다. \n# iptables -A INPUT -p tcp --dport 80 -m recent --update --seconds 1 --hitcount 10 --name HTTP -j DROP \n\n\n\n\n\n스티밋에서의 큐레이션이 목적이 아니라.\n평소 기록해둔 개발관련 내용을 블로깅 하는중입니다.\n\n해당 포스팅의 출처를 찾기 어려워서 기록하지 못했습니다.\n해당 포스팅의 제작자라면 출처를 알려주세요~",
      "json_metadata": "{\"tags\":[\"linux\",\"iptables\"],\"links\":[\"http://www.insecure.org/nmap/\",\"http://netfilter.org\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/01/21 04:42:12
voterochardkarl
authorskysparrow
permlinkpython-kalman-filter-install
weight10000 (100.00%)
Transaction InfoBlock #19162610/Trx 92e83f1c1aaadd0710a6e008c21ef6edac02aa52
View Raw JSON Data
{
  "trx_id": "92e83f1c1aaadd0710a6e008c21ef6edac02aa52",
  "block": 19162610,
  "trx_in_block": 40,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T04:42:12",
  "op": [
    "vote",
    {
      "voter": "ochardkarl",
      "author": "skysparrow",
      "permlink": "python-kalman-filter-install",
      "weight": 10000
    }
  ]
}
2018/01/21 04:40:30
parent author
parent permlinkpython
authorskysparrow
permlinkpython-kalman-filter-install
titlepython kalman filter install / 파이썬 칼만필터 설치 / 라즈베리파이
bodykalman fileter install sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose 참고 http://blog.pistuffing.co.uk/tag/kalman/ http://pykalman.github.io/# https://pypi.python.org/pypi/filterpy#downloads scipy 관련 내용 http://www.scipy.org/install.html 설치-git (armv7 오류) https://github.com/rlabbe/filterpy 칼만필터설치 http://pykalman.github.io/#installation sudo pip install pykalman ============================================ #!/usr/bin/env python # -*- coding: utf-8 -*- from pykalman import KalmanFilter import numpy as np kf = KalmanFilter(transition_matrices = [[1, 1], [0, 1]], observation_matrices = [[0.1, 0.5], [-0.3, 0.0]]) measurements = np.asarray([[1,0], [0,0], [0,1]]) # 3 observations kf = kf.em(measurements, n_iter=5) (filtered_state_means, filtered_state_covariances) = kf.filter(measurements) (smoothed_state_means, smoothed_state_covariances) = kf.smooth(measurements) print filtered_state_means print "" print smoothed_state_means ============================================ post : https://solenerotech.wordpress.com/
json metadata{"tags":["python","kalman","filter","rasberrypi"],"links":["http://blog.pistuffing.co.uk/tag/kalman/","http://pykalman.github.io/#","https://pypi.python.org/pypi/filterpy#downloads","http://www.scipy.org/install.html","https://github.com/rlabbe/filterpy","http://pykalman.github.io/#installation","https://solenerotech.wordpress.com/"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19162576/Trx b7a199d9a1ce32a47dfeeaddc7950e0458f299a2
View Raw JSON Data
{
  "trx_id": "b7a199d9a1ce32a47dfeeaddc7950e0458f299a2",
  "block": 19162576,
  "trx_in_block": 35,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-21T04:40:30",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "python",
      "author": "skysparrow",
      "permlink": "python-kalman-filter-install",
      "title": "python kalman filter install  / 파이썬 칼만필터 설치 / 라즈베리파이",
      "body": "kalman fileter install\n\nsudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose\n\n\n참고\nhttp://blog.pistuffing.co.uk/tag/kalman/\nhttp://pykalman.github.io/#\nhttps://pypi.python.org/pypi/filterpy#downloads\n\nscipy 관련 내용\nhttp://www.scipy.org/install.html\n\n설치-git (armv7 오류)\nhttps://github.com/rlabbe/filterpy\n\n칼만필터설치\nhttp://pykalman.github.io/#installation\nsudo pip install pykalman\n\n\n\n\n============================================\n#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nfrom pykalman import KalmanFilter\nimport numpy as np\n\nkf = KalmanFilter(transition_matrices = [[1, 1], [0, 1]], observation_matrices = [[0.1, 0.5], [-0.3, 0.0]])\nmeasurements = np.asarray([[1,0], [0,0], [0,1]])  # 3 observations\nkf = kf.em(measurements, n_iter=5)\n(filtered_state_means, filtered_state_covariances) = kf.filter(measurements)\n(smoothed_state_means, smoothed_state_covariances) = kf.smooth(measurements)\n\nprint filtered_state_means\nprint \"\"\nprint smoothed_state_means\n\n============================================\n\n\n\npost : https://solenerotech.wordpress.com/",
      "json_metadata": "{\"tags\":[\"python\",\"kalman\",\"filter\",\"rasberrypi\"],\"links\":[\"http://blog.pistuffing.co.uk/tag/kalman/\",\"http://pykalman.github.io/#\",\"https://pypi.python.org/pypi/filterpy#downloads\",\"http://www.scipy.org/install.html\",\"https://github.com/rlabbe/filterpy\",\"http://pykalman.github.io/#installation\",\"https://solenerotech.wordpress.com/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/01/20 16:47:24
votershashkovmaksim
authorskysparrow
permlinkgpio-rasberry-pi-gpio
weight10000 (100.00%)
Transaction InfoBlock #19148320/Trx 763b31bae33c80e2acf9349a4fb3f34426277822
View Raw JSON Data
{
  "trx_id": "763b31bae33c80e2acf9349a4fb3f34426277822",
  "block": 19148320,
  "trx_in_block": 40,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T16:47:24",
  "op": [
    "vote",
    {
      "voter": "shashkovmaksim",
      "author": "skysparrow",
      "permlink": "gpio-rasberry-pi-gpio",
      "weight": 10000
    }
  ]
}
2018/01/20 16:46:30
voterbulbik
authorskysparrow
permlinkgpio-rasberry-pi-gpio
weight10000 (100.00%)
Transaction InfoBlock #19148302/Trx 239834d851ec70ddd11f56ebe972b24d1f7aaa17
View Raw JSON Data
{
  "trx_id": "239834d851ec70ddd11f56ebe972b24d1f7aaa17",
  "block": 19148302,
  "trx_in_block": 50,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T16:46:30",
  "op": [
    "vote",
    {
      "voter": "bulbik",
      "author": "skysparrow",
      "permlink": "gpio-rasberry-pi-gpio",
      "weight": 10000
    }
  ]
}
2018/01/20 16:23:33
voteralenaano
authorskysparrow
permlinkgps-module-gy-gps6mv2-neo-6m-gps
weight10000 (100.00%)
Transaction InfoBlock #19147843/Trx ce25bceda51158bac4debfab45e78ffed68939bd
View Raw JSON Data
{
  "trx_id": "ce25bceda51158bac4debfab45e78ffed68939bd",
  "block": 19147843,
  "trx_in_block": 5,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T16:23:33",
  "op": [
    "vote",
    {
      "voter": "alenaano",
      "author": "skysparrow",
      "permlink": "gps-module-gy-gps6mv2-neo-6m-gps",
      "weight": 10000
    }
  ]
}
2018/01/20 16:23:30
voterzulfiash
authorskysparrow
permlinkgps-module-gy-gps6mv2-neo-6m-gps
weight10000 (100.00%)
Transaction InfoBlock #19147842/Trx 6dfc881b2c4a1bef3c6880a3ff8dd0bfd6ec118c
View Raw JSON Data
{
  "trx_id": "6dfc881b2c4a1bef3c6880a3ff8dd0bfd6ec118c",
  "block": 19147842,
  "trx_in_block": 35,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T16:23:30",
  "op": [
    "vote",
    {
      "voter": "zulfiash",
      "author": "skysparrow",
      "permlink": "gps-module-gy-gps6mv2-neo-6m-gps",
      "weight": 10000
    }
  ]
}
2018/01/20 16:20:00
voterboguzhina
authorskysparrow
permlinkrasberry-fi-resolution-option
weight10000 (100.00%)
Transaction InfoBlock #19147772/Trx 68155eab26f803d61be92390a8ab13d0e9a79514
View Raw JSON Data
{
  "trx_id": "68155eab26f803d61be92390a8ab13d0e9a79514",
  "block": 19147772,
  "trx_in_block": 25,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T16:20:00",
  "op": [
    "vote",
    {
      "voter": "boguzhina",
      "author": "skysparrow",
      "permlink": "rasberry-fi-resolution-option",
      "weight": 10000
    }
  ]
}
2018/01/20 16:20:00
voterofrantis
authorskysparrow
permlinkrasberry-fi-resolution-option
weight10000 (100.00%)
Transaction InfoBlock #19147772/Trx 78c719b5f7f48e84ab1114ec548b7ffc76a7da7c
View Raw JSON Data
{
  "trx_id": "78c719b5f7f48e84ab1114ec548b7ffc76a7da7c",
  "block": 19147772,
  "trx_in_block": 9,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T16:20:00",
  "op": [
    "vote",
    {
      "voter": "ofrantis",
      "author": "skysparrow",
      "permlink": "rasberry-fi-resolution-option",
      "weight": 10000
    }
  ]
}
2018/01/20 16:18:24
voteryanacheho
authorskysparrow
permlinkrasberry-fi-resolution-option
weight10000 (100.00%)
Transaction InfoBlock #19147740/Trx 16fc5d23bc5932993a0e5c18eaa71d648f6cb254
View Raw JSON Data
{
  "trx_id": "16fc5d23bc5932993a0e5c18eaa71d648f6cb254",
  "block": 19147740,
  "trx_in_block": 22,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T16:18:24",
  "op": [
    "vote",
    {
      "voter": "yanacheho",
      "author": "skysparrow",
      "permlink": "rasberry-fi-resolution-option",
      "weight": 10000
    }
  ]
}
2018/01/20 16:18:21
voterneoproppinspo
authorskysparrow
permlinkrasberry-fi-resolution-option
weight10000 (100.00%)
Transaction InfoBlock #19147739/Trx b15fac283bfca398bcd4cc3666a7515c88fceb15
View Raw JSON Data
{
  "trx_id": "b15fac283bfca398bcd4cc3666a7515c88fceb15",
  "block": 19147739,
  "trx_in_block": 37,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T16:18:21",
  "op": [
    "vote",
    {
      "voter": "neoproppinspo",
      "author": "skysparrow",
      "permlink": "rasberry-fi-resolution-option",
      "weight": 10000
    }
  ]
}
orleinupvoted (100.00%) @skysparrow / python-tg9e
2018/01/20 12:30:15
voterorlein
authorskysparrow
permlinkpython-tg9e
weight10000 (100.00%)
Transaction InfoBlock #19143177/Trx 9198a62da7e171b6729a9b9964d24000431e3ac9
View Raw JSON Data
{
  "trx_id": "9198a62da7e171b6729a9b9964d24000431e3ac9",
  "block": 19143177,
  "trx_in_block": 31,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T12:30:15",
  "op": [
    "vote",
    {
      "voter": "orlein",
      "author": "skysparrow",
      "permlink": "python-tg9e",
      "weight": 10000
    }
  ]
}
2018/01/20 07:27:36
voterubg
authorskysparrow
permlinkgpio-rasberry-pi-gpio
weight100 (1.00%)
Transaction InfoBlock #19137127/Trx d5164f4fd44267856973d16cba373b6c04feb118
View Raw JSON Data
{
  "trx_id": "d5164f4fd44267856973d16cba373b6c04feb118",
  "block": 19137127,
  "trx_in_block": 15,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T07:27:36",
  "op": [
    "vote",
    {
      "voter": "ubg",
      "author": "skysparrow",
      "permlink": "gpio-rasberry-pi-gpio",
      "weight": 100
    }
  ]
}
2018/01/20 07:12:36
voterantormahmud
authorskysparrow
permlinkrpi-ap-setting-dhcp-setting
weight10000 (100.00%)
Transaction InfoBlock #19136827/Trx d41e38b92eba556ece0a32d8e12e3e9243238f83
View Raw JSON Data
{
  "trx_id": "d41e38b92eba556ece0a32d8e12e3e9243238f83",
  "block": 19136827,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T07:12:36",
  "op": [
    "vote",
    {
      "voter": "antormahmud",
      "author": "skysparrow",
      "permlink": "rpi-ap-setting-dhcp-setting",
      "weight": 10000
    }
  ]
}
2018/01/20 07:11:18
parent author
parent permlinkrasberrypi
authorskysparrow
permlinkrpi-ap-setting-dhcp-setting
title[구동확인] RPI-AP Setting / DHCP Setting
body@@ -1,66 +1,42 @@ -===========================%0A%ED%8C%A8%ED%82%A4%EC%A7%80 %EC%84%A4%EC%B9%98%0A=========================== +RPI-AP Setting / DHCP Setting%0A%0A%ED%8C%A8%ED%82%A4%EC%A7%80 %EC%84%A4%EC%B9%98%0A %0Asud
json metadata{"tags":["rasberrypi","ap","setting","dhcp","bridge"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19136801/Trx 1b724db4f93079c3ef5c2facc954fe465b0977b8
View Raw JSON Data
{
  "trx_id": "1b724db4f93079c3ef5c2facc954fe465b0977b8",
  "block": 19136801,
  "trx_in_block": 14,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T07:11:18",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "rasberrypi",
      "author": "skysparrow",
      "permlink": "rpi-ap-setting-dhcp-setting",
      "title": "[구동확인] RPI-AP Setting / DHCP Setting",
      "body": "@@ -1,66 +1,42 @@\n-===========================%0A%ED%8C%A8%ED%82%A4%EC%A7%80 %EC%84%A4%EC%B9%98%0A===========================\n+RPI-AP Setting / DHCP Setting%0A%0A%ED%8C%A8%ED%82%A4%EC%A7%80 %EC%84%A4%EC%B9%98%0A\n %0Asud\n",
      "json_metadata": "{\"tags\":[\"rasberrypi\",\"ap\",\"setting\",\"dhcp\",\"bridge\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/01/20 07:10:45
parent author
parent permlinkrasberrypi
authorskysparrow
permlinkrpi-ap-setting-dhcp-setting
title[구동확인] RPI-AP Setting / DHCP Setting
body=========================== 패키지 설치 =========================== sudo apt-get update sudo apt-get install bridge-utils hostapd hostap-utils dnsmasq iw sudo apt-get install udhcpd =========================== 기존의 hostapd를 교체 - 랜카드 드라이버로 인하여 (호환되는 랜카드 드라이버찾아야함 - 첨부된것은 iptime U100N Mini) =========================== 자료첨부 : 20150514182731_hostapd.zip wget http://www.daveconroy.com/wp3/wp-content/uploads/2013/07/hostapd.zip unzip hostapd.zip 혹시라도 작동중일지도 모르는, hostapd를 정지시키고 교체합니다. sudo service hostapd stop sudo cp hostapd /usr/sbin/hostapd ==================================== 네트웍 설정 ==================================== /etc/network 아래는 랜선1, 무선랜1, 무선랜2 이며 무선랜2번에 AP를 부여하는 경우이다 auto lo iface lo inet loopback auto eth0 allow-hotplug eth0 iface eth0 inet manual # Internet Access auto wlan0 allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf # Access point iface wlan1 inet static #bridge_ports eth0 wlan1 address 192.168.50.1 broadcast 192.168.50.255 netmask 255.255.255.0 up iptables-restore < /etc/iptables.ipv4.nat ==================================== /etc/default/udhcpd ==================================== DHCPD_ENABLED="yes" ==================================== /etc/udhcpd.conf ==================================== start 192.168.50.2 #default: 192.168.0.20 end 192.168.50.254 #default: 192.168.0.254 interface wlan1 #default: eth0 max_leases 254 #default: 254 remaining yes #default: yes auto_time 7200 #default: 7200 (2 hours) lease_file /var/lib/misc/udhcpd.leases #defualt: /var/lib/misc/udhcpd.leases pidfile /var/run/udhcpd.pid #default: /var/run/udhcpd.pid opt dns 192.168.50.2 192.168.50.255 option subnet 255.255.255.0 opt router 192.168.50.1 #opt wins 192.168.10.10 #option dns 129.219.13.81 # appened to above DNS servers for a total of 3 option domain local option lease 864000 # 10 days of seconds ==================================== Host AP 설정 ==================================== /etc/default/hostapd DAEMON_CONF="/etc/hostapd/hostapd.conf" ==================================== Host AP 환경설정 ==================================== /etc/hostapd/hostapd.conf interface=wlan1 driver=rtl871xdrv bridge=wlan1 #parametes so that the daemon runs ctrl_interface=/var/run/hostapd ctrl_interface_group=0 #the wifi configuration ssid=ICARUSX-RPI-AP channel=6 hw_mode=g #Security of the Wifi conection wpa=1 wpa_passphrase=ajdcjddl wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP #Other setting rsn_pairwise=CCMP auth_algs=3 macaddr_acl=0 beacon_int=100 wmm_enabled=1 wme_enabled=1 ==================================== /etc/resolv.conf ==================================== nameserver 61.41.153.2 nameserver 1.214.68.2 ==================================== /etc/sysctl.conf ==================================== net.ipv4.ip_forward=1 ==================================== /etc/rc.local ==================================== #AP sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT ==================================== /etc/dnsmasq.conf ==================================== #no-resolv domain-needed interface=wlan1 dhcp-range=192.168.50.2,192.168.50.254,255.255.255.0,12h # Override the default route supplied by dnsmasq, which assumes the # router is the same machine as the one running dnsmasq. #dhcp-option=3,1.2.3.4 dhcp-option=3,192.168.50.1 ==================================== 필수아님 ==================================== Python-nmap 설치 ==================================== sudo apt-get install python-nmap //NMap 을 이용한 스캔 import nmap nm = nmap.PortScanner() nm.scan( arguments = "-v -sP 192.168.50.*" ) for addr in nm.all_hosts() : item = nm[ addr ] v = [ addr, item.hostname(), item.state() ] print v, =========================== Apache 추가설정 =========================== apache : /etc/httpd.conf apache2 : /etc/apache2/conf.d/localized-error-pages ErrorDocument 404 /missing.html 주석 제거 , 원하는 파일 생성 처리 =========================== 서비스재시작 =========================== /etc/init.d/networking restart sudo service networking restart sudo service hostapd restart sudo service dnsmasq restart sudo service udhcpd restart
json metadata{"tags":["rasberrypi","ap","setting","dhcp","bridge"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19136790/Trx d76f7b4605c4447b3eea552e2374f5fab37f59e2
View Raw JSON Data
{
  "trx_id": "d76f7b4605c4447b3eea552e2374f5fab37f59e2",
  "block": 19136790,
  "trx_in_block": 24,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T07:10:45",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "rasberrypi",
      "author": "skysparrow",
      "permlink": "rpi-ap-setting-dhcp-setting",
      "title": "[구동확인] RPI-AP Setting / DHCP Setting",
      "body": "===========================\n패키지 설치\n===========================\nsudo apt-get update\n\n\nsudo apt-get install bridge-utils hostapd hostap-utils dnsmasq  iw\n\nsudo apt-get install udhcpd\n\n\n\n\n\n\n\n\n\n\n===========================\n기존의 hostapd를 교체 - 랜카드 드라이버로 인하여 (호환되는 랜카드 드라이버찾아야함 - 첨부된것은 iptime U100N Mini)\n===========================\n\n자료첨부 : 20150514182731_hostapd.zip\n\n\nwget http://www.daveconroy.com/wp3/wp-content/uploads/2013/07/hostapd.zip\nunzip hostapd.zip\n\n혹시라도 작동중일지도 모르는, hostapd를 정지시키고 교체합니다.\nsudo service hostapd stop\nsudo cp hostapd /usr/sbin/hostapd\n\n\n\n\n\n\n====================================\n네트웍 설정\n====================================\n/etc/network\n\n아래는 랜선1, 무선랜1, 무선랜2 이며 무선랜2번에 AP를 부여하는 경우이다\n\nauto lo\niface lo inet loopback\n\nauto eth0\nallow-hotplug eth0\niface eth0 inet manual\n\n\n# Internet Access\nauto wlan0\nallow-hotplug wlan0\niface wlan0 inet manual\nwpa-roam /etc/wpa_supplicant/wpa_supplicant.conf\n\n\n# Access point\niface wlan1 inet static\n   #bridge_ports eth0 wlan1\n   address 192.168.50.1\n   broadcast 192.168.50.255\n   netmask 255.255.255.0\n\nup iptables-restore < /etc/iptables.ipv4.nat\n\n\n\n\n\n\n\n\n\n\n\n====================================\n/etc/default/udhcpd\n====================================\nDHCPD_ENABLED=\"yes\"\n\n\n\n\n\n====================================\n/etc/udhcpd.conf\n====================================\n\nstart        192.168.50.2    #default: 192.168.0.20\nend        192.168.50.254    #default: 192.168.0.254\n\ninterface    wlan1        #default: eth0\n\nmax_leases\t254\t\t#default: 254\n\nremaining\tyes\t\t#default: yes\n\nauto_time\t7200\t\t#default: 7200 (2 hours)\n\nlease_file\t/var/lib/misc/udhcpd.leases\t#defualt: /var/lib/misc/udhcpd.leases\npidfile\t/var/run/udhcpd.pid\t#default: /var/run/udhcpd.pid\n\nopt\tdns\t192.168.50.2 192.168.50.255\noption    subnet    255.255.255.0\nopt    router    192.168.50.1\n#opt    wins    192.168.10.10\n#option    dns    129.219.13.81    # appened to above DNS servers for a total of 3\noption    domain    local\noption    lease    864000        # 10 days of seconds\n\n\n\n\n\n\n\n\n====================================\nHost AP 설정\n====================================\n/etc/default/hostapd\n\nDAEMON_CONF=\"/etc/hostapd/hostapd.conf\"\n\n\n\n\n\n\n\n====================================\nHost AP 환경설정\n====================================\n/etc/hostapd/hostapd.conf\n\n\ninterface=wlan1\ndriver=rtl871xdrv\nbridge=wlan1\n\n#parametes so that the daemon runs\nctrl_interface=/var/run/hostapd\nctrl_interface_group=0\n\n#the wifi configuration\nssid=ICARUSX-RPI-AP\nchannel=6\nhw_mode=g\n\n#Security of the Wifi conection\nwpa=1\nwpa_passphrase=ajdcjddl\nwpa_key_mgmt=WPA-PSK\nwpa_pairwise=TKIP CCMP\n\n#Other setting\nrsn_pairwise=CCMP\nauth_algs=3\nmacaddr_acl=0\nbeacon_int=100\nwmm_enabled=1\nwme_enabled=1\n\n\n\n\n====================================\n/etc/resolv.conf\n====================================\nnameserver 61.41.153.2\nnameserver 1.214.68.2\n\n\n\n\n====================================\n/etc/sysctl.conf\n====================================\nnet.ipv4.ip_forward=1\n\n\n\n\n====================================\n/etc/rc.local\n====================================\n\n#AP\nsudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE\nsudo iptables -A FORWARD -i eth0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT\nsudo iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT\n\n\n\n\n\n====================================\n/etc/dnsmasq.conf\n====================================\n\n#no-resolv\ndomain-needed\ninterface=wlan1\ndhcp-range=192.168.50.2,192.168.50.254,255.255.255.0,12h\n\n\n# Override the default route supplied by dnsmasq, which assumes the\n# router is the same machine as the one running dnsmasq.\n#dhcp-option=3,1.2.3.4\ndhcp-option=3,192.168.50.1\n\n\n\n====================================\n필수아님\n====================================\nPython-nmap 설치\n====================================\nsudo apt-get install python-nmap\n\n\n     //NMap 을 이용한 스캔\n\n      import nmap\n      nm = nmap.PortScanner()\n      nm.scan( arguments = \"-v -sP 192.168.50.*\" )\n      for addr in nm.all_hosts() :\n          item = nm[ addr ]\n          v = [ addr, item.hostname(), item.state() ]\n          print v,\n\n\n\n\n\n\n\n===========================\nApache 추가설정\n===========================\n     apache : /etc/httpd.conf\n     apache2 : /etc/apache2/conf.d/localized-error-pages\n\n     ErrorDocument 404 /missing.html\n     주석 제거 , 원하는 파일 생성 처리\n\n\n===========================\n서비스재시작\n===========================\n\n/etc/init.d/networking restart\n\nsudo service networking restart\nsudo service hostapd restart\nsudo service dnsmasq restart\nsudo service udhcpd restart",
      "json_metadata": "{\"tags\":[\"rasberrypi\",\"ap\",\"setting\",\"dhcp\",\"bridge\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/01/20 07:07:15
votersmarthamster72
authorskysparrow
permlinkgpio-rasberry-pi-gpio
weight100 (1.00%)
Transaction InfoBlock #19136720/Trx 3124ef05e8a3b2bde7542ea53cd106a2909485dd
View Raw JSON Data
{
  "trx_id": "3124ef05e8a3b2bde7542ea53cd106a2909485dd",
  "block": 19136720,
  "trx_in_block": 30,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T07:07:15",
  "op": [
    "vote",
    {
      "voter": "smarthamster72",
      "author": "skysparrow",
      "permlink": "gpio-rasberry-pi-gpio",
      "weight": 100
    }
  ]
}
skysparrowpublished a new post: gpio-rasberry-pi-gpio
2018/01/20 07:04:36
parent author
parent permlinkrasberryfi
authorskysparrow
permlinkgpio-rasberry-pi-gpio
title라즈베리파이 - gpio 설치 / rasberry pi GPIO
body1 라즈베리파이의 업데이트 및 업그레이드 sudo apt-get updatesudo apt-get upgrade 2 소스관리툴 git 를 다운로드한다. 오픈소스 https://github.com/WiringPi/WiringPi 의 소스를 체크 sudo apt-get install git-core 3 wiringPi 프로젝트를 다운로드 git clone git://git.drogon.net/wiringPi 4 빌드 및 설치 cd wiringPi ./build 5 설치가 확인 gpio -v gpio readall
json metadata{"tags":["rasberryfi","gpio"],"links":["https://github.com/WiringPi/WiringPi"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19136667/Trx 98069b1ae083d09d2907a6aee0a220d6278af6c6
View Raw JSON Data
{
  "trx_id": "98069b1ae083d09d2907a6aee0a220d6278af6c6",
  "block": 19136667,
  "trx_in_block": 35,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T07:04:36",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "rasberryfi",
      "author": "skysparrow",
      "permlink": "gpio-rasberry-pi-gpio",
      "title": "라즈베리파이 - gpio 설치 / rasberry pi GPIO",
      "body": "1 라즈베리파이의 업데이트 및 업그레이드\n\nsudo apt-get updatesudo apt-get upgrade\n\n 2 소스관리툴 git 를 다운로드한다.\n\n오픈소스 https://github.com/WiringPi/WiringPi 의 소스를 체크\nsudo apt-get install git-core\n\n\n 3 wiringPi 프로젝트를 다운로드\ngit clone git://git.drogon.net/wiringPi\n\n\n 4 빌드 및 설치\n\ncd wiringPi\n./build\n\n\n 5 설치가 확인\n\ngpio -v gpio readall",
      "json_metadata": "{\"tags\":[\"rasberryfi\",\"gpio\"],\"links\":[\"https://github.com/WiringPi/WiringPi\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/01/20 07:00:30
parent author
parent permlinkrasberry
authorskysparrow
permlinkrasberry-fi-resolution-option
title라즈베리파이 해상도 옵션 / rasberry pi resolution option
body/boot/config.txt hdmi_force_hotplug = 1 hdmi_group = 2 hdmi_mode = 58 # 여기서 해상도를 설정한다 hdmi_drive = 1 ================================================ hdmi_group=2 (DMT) 인 경우: 주의 :최대 해상도는 1920x1200 @60 Hz (reduced blanking) ================================================ hdmi_mode=1 640x350 85 Hz hdmi_mode=2 640x400 85 Hz hdmi_mode=3 720x400 85 Hz hdmi_mode=4 640x480 60 Hz hdmi_mode=5 640x480 72 Hz hdmi_mode=6 640x480 75 Hz hdmi_mode=7 640x480 85 Hz hdmi_mode=8 800x600 56 Hz hdmi_mode=9 800x600 60 Hz hdmi_mode=10 800x600 72 Hz hdmi_mode=11 800x600 75 Hz hdmi_mode=12 800x600 85 Hz hdmi_mode=13 800x600 120 Hz hdmi_mode=14 848x480 60 Hz hdmi_mode=15 1024x768 43 Hz DO NOT USE hdmi_mode=16 1024x768 60 Hz hdmi_mode=17 1024x768 70 Hz hdmi_mode=18 1024x768 75 Hz hdmi_mode=19 1024x768 85 Hz hdmi_mode=20 1024x768 120 Hz hdmi_mode=21 1152x864 75 Hz hdmi_mode=22 1280x768 Reduced blanking hdmi_mode=23 1280x768 60 Hz hdmi_mode=24 1280x768 75 Hz hdmi_mode=25 1280x768 85 Hz hdmi_mode=26 1280x768 120 Hz Reduced blanking hdmi_mode=27 1280x800 Reduced blanking hdmi_mode=28 1280x800 60 Hz hdmi_mode=29 1280x800 75 Hz hdmi_mode=30 1280x800 85 Hz hdmi_mode=31 1280x800 120 Hz Reduced blanking hdmi_mode=32 1280x960 60 Hz hdmi_mode=33 1280x960 85 Hz hdmi_mode=34 1280x960 120 Hz Reduced blanking hdmi_mode=35 1280x1024 60 Hz hdmi_mode=36 1280x1024 75 Hz hdmi_mode=37 1280x1024 85 Hz hdmi_mode=38 1280x1024 120 Hz Reduced blanking hdmi_mode=39 1360x768 60 Hz hdmi_mode=40 1360x768 120 Hz Reduced blanking hdmi_mode=41 1400x1050 Reduced blanking hdmi_mode=42 1400x1050 60 Hz hdmi_mode=43 1400x1050 75 Hz hdmi_mode=44 1400x1050 85 Hz hdmi_mode=45 1400x1050 120 Hz Reduced blanking hdmi_mode=46 1440x900 Reduced blanking hdmi_mode=47 1440x900 60 Hz hdmi_mode=48 1440x900 75 Hz hdmi_mode=49 1440x900 85 Hz hdmi_mode=50 1440x900 120 Hz Reduced blanking hdmi_mode=51 1600x1200 60 Hz hdmi_mode=52 1600x1200 65 Hz hdmi_mode=53 1600x1200 70 Hz hdmi_mode=54 1600x1200 75 Hz hdmi_mode=55 1600x1200 85 Hz hdmi_mode=56 1600x1200 120 Hz Reduced blanking hdmi_mode=57 1680x1050 Reduced blanking hdmi_mode=58 1680x1050 60 Hz hdmi_mode=59 1680x1050 75 Hz hdmi_mode=60 1680x1050 85 Hz hdmi_mode=61 1680x1050 120 Hz Reduced blanking hdmi_mode=62 1792x1344 60 Hz hdmi_mode=63 1792x1344 75 Hz hdmi_mode=64 1792x1344 120 Hz Reduced blanking hdmi_mode=65 1856x1392 60 Hz hdmi_mode=66 1856x1392 75 Hz hdmi_mode=67 1856x1392 120 Hz Reduced blanking hdmi_mode=68 1920x1200 Reduced blanking hdmi_mode=69 1920x1200 60 Hz hdmi_mode=70 1920x1200 75 Hz hdmi_mode=71 1920x1200 85 Hz hdmi_mode=72 1920x1200 120 Hz Reduced blanking hdmi_mode=73 1920x1440 60 Hz hdmi_mode=74 1920x1440 75 Hz hdmi_mode=75 1920x1440 120 Hz Reduced blanking hdmi_mode=76 2560x1600 Reduced blanking hdmi_mode=77 2560x1600 60 Hz hdmi_mode=78 2560x1600 75 Hz hdmi_mode=79 2560x1600 85 Hz hdmi_mode=80 2560x1600 120 Hz Reduced blanking hdmi_mode=81 1366x768 60 Hz hdmi_mode=82 1080p 60 Hz hdmi_mode=83 1600x900 Reduced blanking hdmi_mode=84 2048x1152 Reduced blanking hdmi_mode=85 720p 60 Hz hdmi_mode=86 1366x768 Reduced blanking
json metadata{"tags":["rasberrypi","resolution","option","rasberry"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19136585/Trx 4c4d77951e59cd92d5ae7dd1c5e41bcb838b2199
View Raw JSON Data
{
  "trx_id": "4c4d77951e59cd92d5ae7dd1c5e41bcb838b2199",
  "block": 19136585,
  "trx_in_block": 67,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T07:00:30",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "rasberry",
      "author": "skysparrow",
      "permlink": "rasberry-fi-resolution-option",
      "title": "라즈베리파이 해상도 옵션 / rasberry pi resolution option",
      "body": "/boot/config.txt \n\n   hdmi_force_hotplug = 1\n   hdmi_group = 2\n   hdmi_mode = 58   # 여기서 해상도를 설정한다\n   hdmi_drive = 1 \n\n\n================================================\nhdmi_group=2 (DMT) 인 경우:\n주의 :최대 해상도는 1920x1200 @60 Hz (reduced blanking)\n================================================\n\nhdmi_mode=1    640x350    85 Hz\nhdmi_mode=2    640x400    85 Hz\nhdmi_mode=3    720x400    85 Hz\nhdmi_mode=4    640x480    60 Hz\nhdmi_mode=5    640x480    72 Hz\nhdmi_mode=6    640x480    75 Hz\nhdmi_mode=7    640x480    85 Hz\nhdmi_mode=8    800x600    56 Hz\nhdmi_mode=9    800x600    60 Hz\nhdmi_mode=10   800x600    72 Hz\nhdmi_mode=11   800x600    75 Hz\nhdmi_mode=12   800x600    85 Hz\nhdmi_mode=13   800x600   120 Hz\nhdmi_mode=14   848x480    60 Hz\nhdmi_mode=15   1024x768   43 Hz  DO NOT USE\nhdmi_mode=16   1024x768   60 Hz\nhdmi_mode=17   1024x768   70 Hz\nhdmi_mode=18   1024x768   75 Hz\nhdmi_mode=19   1024x768   85 Hz\nhdmi_mode=20   1024x768  120 Hz\nhdmi_mode=21   1152x864   75 Hz\nhdmi_mode=22   1280x768          Reduced blanking\nhdmi_mode=23   1280x768   60 Hz\nhdmi_mode=24   1280x768   75 Hz\nhdmi_mode=25   1280x768   85 Hz\nhdmi_mode=26   1280x768  120 Hz  Reduced blanking\nhdmi_mode=27   1280x800          Reduced blanking\nhdmi_mode=28   1280x800   60 Hz  \nhdmi_mode=29   1280x800   75 Hz  \nhdmi_mode=30   1280x800   85 Hz  \nhdmi_mode=31   1280x800  120 Hz  Reduced blanking\nhdmi_mode=32   1280x960   60 Hz  \nhdmi_mode=33   1280x960   85 Hz  \nhdmi_mode=34   1280x960  120 Hz  Reduced blanking\nhdmi_mode=35   1280x1024  60 Hz  \nhdmi_mode=36   1280x1024  75 Hz  \nhdmi_mode=37   1280x1024  85 Hz  \nhdmi_mode=38   1280x1024 120 Hz  Reduced blanking\nhdmi_mode=39   1360x768   60 Hz  \nhdmi_mode=40   1360x768  120 Hz  Reduced blanking\nhdmi_mode=41   1400x1050         Reduced blanking\nhdmi_mode=42   1400x1050  60 Hz  \nhdmi_mode=43   1400x1050  75 Hz  \nhdmi_mode=44   1400x1050  85 Hz  \nhdmi_mode=45   1400x1050 120 Hz  Reduced blanking\nhdmi_mode=46   1440x900          Reduced blanking\nhdmi_mode=47   1440x900   60 Hz  \nhdmi_mode=48   1440x900   75 Hz  \nhdmi_mode=49   1440x900   85 Hz  \nhdmi_mode=50   1440x900  120 Hz  Reduced blanking\nhdmi_mode=51   1600x1200  60 Hz  \nhdmi_mode=52   1600x1200  65 Hz  \nhdmi_mode=53   1600x1200  70 Hz  \nhdmi_mode=54   1600x1200  75 Hz  \nhdmi_mode=55   1600x1200  85 Hz  \nhdmi_mode=56   1600x1200 120 Hz  Reduced blanking\nhdmi_mode=57   1680x1050         Reduced blanking\nhdmi_mode=58   1680x1050  60 Hz  \nhdmi_mode=59   1680x1050  75 Hz  \nhdmi_mode=60   1680x1050  85 Hz  \nhdmi_mode=61   1680x1050 120 Hz  Reduced blanking\nhdmi_mode=62   1792x1344  60 Hz  \nhdmi_mode=63   1792x1344  75 Hz  \nhdmi_mode=64   1792x1344 120 Hz  Reduced blanking\nhdmi_mode=65   1856x1392  60 Hz  \nhdmi_mode=66   1856x1392  75 Hz  \nhdmi_mode=67   1856x1392 120 Hz  Reduced blanking\nhdmi_mode=68   1920x1200         Reduced blanking\nhdmi_mode=69   1920x1200  60 Hz  \nhdmi_mode=70   1920x1200  75 Hz  \nhdmi_mode=71   1920x1200  85 Hz  \nhdmi_mode=72   1920x1200 120 Hz  Reduced blanking\nhdmi_mode=73   1920x1440  60 Hz  \nhdmi_mode=74   1920x1440  75 Hz  \nhdmi_mode=75   1920x1440 120 Hz  Reduced blanking\nhdmi_mode=76   2560x1600         Reduced blanking\nhdmi_mode=77   2560x1600  60 Hz  \nhdmi_mode=78   2560x1600  75 Hz  \nhdmi_mode=79   2560x1600  85 Hz  \nhdmi_mode=80   2560x1600 120 Hz  Reduced blanking\nhdmi_mode=81   1366x768   60 Hz  \nhdmi_mode=82   1080p      60 Hz  \nhdmi_mode=83   1600x900          Reduced blanking\nhdmi_mode=84   2048x1152         Reduced blanking\nhdmi_mode=85   720p       60 Hz  \nhdmi_mode=86   1366x768          Reduced blanking",
      "json_metadata": "{\"tags\":[\"rasberrypi\",\"resolution\",\"option\",\"rasberry\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/01/20 06:59:21
votersmarthamster72
authorskysparrow
permlinkapache2-cgi
weight100 (1.00%)
Transaction InfoBlock #19136562/Trx f0f01d6637c5cf2a483139499ed33c15f8ce1c12
View Raw JSON Data
{
  "trx_id": "f0f01d6637c5cf2a483139499ed33c15f8ce1c12",
  "block": 19136562,
  "trx_in_block": 2,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T06:59:21",
  "op": [
    "vote",
    {
      "voter": "smarthamster72",
      "author": "skysparrow",
      "permlink": "apache2-cgi",
      "weight": 100
    }
  ]
}
skysparrowpublished a new post: python-tg9e
2018/01/20 06:58:18
parent author
parent permlinktg9e
authorskysparrow
permlinkpython-tg9e
titlepython TG9e 서버모터 구동
body부품 TG9e 서버모터 http://icarusx.com/icarusx/upload/app/20140917/MIDDLE/20140917020118_app.jpg http://icarusx.com/icarusx/upload/app/20140917/LARGE/20140917020126_app.jpg 여러 가지 연결해둔 상태라 참고만. 해당 TF9e 서버모터는 3개 핀을 이용 전선이 위로/모터날개가 위에서 보이는 방향을 기준으로 GND,VCC,GPIO Pin 순으로 연결 별도 노이즈에 대해 주워들은바로 4.7k옴 을 +,Gpio 연결선에 추가 또는 Vcc,Gnd 에 캐패시터 를 연결 하여 노이즈를 제거한다함 개요 파이썬을 통해 코딩 TG9e 서버모터 2개를 연결후 전원을 인가. 주의할점은.. 서버모터를 핸들링 하지않는 상태에서 GPIO.setup , 전원인가시 별도의 노이즈 필터링 처리를 하지않은경우. 전력소모 또는 구동되지 않는 상태에서 모터에 부가되는 노이즈로 지지직거림 때문에 해당 코딩은 서버모터를 제어시 GPIO에 대한 setup 후 모터를 구동 소스 #!/usr/bin/env python # -*- coding: utf-8 -*- import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) servoHz = 50 servo1 = 17 servo2 = 27 #서보 번호 servoChk = input("Please Servo Number 1 or 2 ") if servoChk == 1: servoNum = servo1 elif servoChk == 2: servoNum = servo2 #서보회전값 servoVal = input("Please Rotate Number - Now %d Hz / Now 5, Min 1, Max 13 " % (servoHz)) if servoVal >= 0: GPIO.setup(servoNum, GPIO.OUT) pServo = GPIO.PWM(servoNum,servoHz) pServo.start(5) #pServo.ChangeFrequency(servoHz) pServo.ChangeDutyCycle(servoVal) time.sleep(0.1) # for dc in range(0, 101, 5): # print dc # pServo.ChangeDutyCycle(dc) # time.sleep(0.1) pServo.stop() else: GPIO.cleanup() pServo.ChangeFrequency(50) pServo.stop() GPIO.cleanup()![](https://steemitimages.com/DQmNQ1vxQn2LYksP3FAb5KPMHaTTymMVsHGE8MwDtMXhYn1/image.png)
json metadata{"tags":["tg9e","python"],"image":["http://icarusx.com/icarusx/upload/app/20140917/MIDDLE/20140917020118_app.jpg","http://icarusx.com/icarusx/upload/app/20140917/LARGE/20140917020126_app.jpg"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19136541/Trx cb4f3eec9c8a783ff5cf302461b7aab512fe8b64
View Raw JSON Data
{
  "trx_id": "cb4f3eec9c8a783ff5cf302461b7aab512fe8b64",
  "block": 19136541,
  "trx_in_block": 59,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T06:58:18",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "tg9e",
      "author": "skysparrow",
      "permlink": "python-tg9e",
      "title": "python TG9e 서버모터 구동",
      "body": "부품\n\n     TG9e 서버모터\n\n\nhttp://icarusx.com/icarusx/upload/app/20140917/MIDDLE/20140917020118_app.jpg\n\nhttp://icarusx.com/icarusx/upload/app/20140917/LARGE/20140917020126_app.jpg\n\n     여러 가지 연결해둔 상태라 참고만.\n\n     해당 TF9e 서버모터는 3개 핀을 이용\n\n     전선이 위로/모터날개가 위에서 보이는 방향을 기준으로\n\n     GND,VCC,GPIO Pin  순으로 연결\n\n     별도 노이즈에 대해 주워들은바로 4.7k옴 을 +,Gpio 연결선에 추가\n\n     또는 Vcc,Gnd 에 캐패시터 를 연결 하여 노이즈를 제거한다함\n\n\n\n\n개요\n\n    파이썬을 통해 코딩\n\n    TG9e 서버모터 2개를 연결후 전원을 인가.\n\n    주의할점은.. 서버모터를 핸들링 하지않는 상태에서 GPIO.setup , 전원인가시\n    별도의 노이즈 필터링 처리를 하지않은경우.\n\n    전력소모 또는 구동되지 않는 상태에서 모터에 부가되는 노이즈로 지지직거림\n\n    때문에 해당 코딩은 서버모터를 제어시 GPIO에 대한 setup 후 모터를 구동\n\n\n소스\n\n         #!/usr/bin/env python\n         # -*- coding: utf-8 -*-\n\n         import RPi.GPIO as GPIO\n         import time\n\n\n         GPIO.setmode(GPIO.BCM)\n\n\n         servoHz = 50\n         servo1 = 17\n         servo2 = 27\n\n\n         #서보 번호\n         servoChk = input(\"Please Servo Number 1 or 2 \")\n         if servoChk == 1:\n            servoNum = servo1\n         elif servoChk == 2:\n            servoNum = servo2\n\n\n         #서보회전값\n         servoVal = input(\"Please Rotate Number - Now %d Hz / Now 5, Min 1, Max 13 \" % (servoHz))\n         if servoVal >= 0:\n\n            GPIO.setup(servoNum, GPIO.OUT)\n            pServo = GPIO.PWM(servoNum,servoHz)\n            pServo.start(5)\n\n            #pServo.ChangeFrequency(servoHz)\n\n            pServo.ChangeDutyCycle(servoVal)\n            time.sleep(0.1)\n\n\n            #      for dc in range(0, 101, 5):\n            #         print dc\n            #         pServo.ChangeDutyCycle(dc)\n            #         time.sleep(0.1)\n\n\n            pServo.stop()\n         else:\n            GPIO.cleanup()\n\n\n         pServo.ChangeFrequency(50)\n         pServo.stop()\n\n         GPIO.cleanup()![](https://steemitimages.com/DQmNQ1vxQn2LYksP3FAb5KPMHaTTymMVsHGE8MwDtMXhYn1/image.png)",
      "json_metadata": "{\"tags\":[\"tg9e\",\"python\"],\"image\":[\"http://icarusx.com/icarusx/upload/app/20140917/MIDDLE/20140917020118_app.jpg\",\"http://icarusx.com/icarusx/upload/app/20140917/LARGE/20140917020126_app.jpg\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
skysparrowpublished a new post: apache2-cgi
2018/01/20 06:53:03
parent author
parent permlinkapache
authorskysparrow
permlinkapache2-cgi
titleApache2 서버에 CGI 셋팅
bodymkdir /var/cgi-bin and create a file called /var/cgi-bin/echo.pl with the following content: #!/usr/bin/perl use strict; use warnings; print qq(Content-type: text/plain ); print "hi "; chomd +x /var/cgi-bin/echo.pl # /var/cgi-bin/echo.pl Content-type: text/plain hi Apache /etc/apache2/sites-enabled/000-default.conf <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 와 같은 형식에 내부에 아래 내용을 추가 ScriptAlias /cgi-bin/ /var/cgi-bin/ <Directory "/var/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Require all granted </Directory> CGI 모듈 활성화 # ls -l /etc/apache2/mods-enabled/ | grep cgi # ls -l /etc/apache2/mods-available/ | grep cgi -rw-r--r-- 1 root root 115 Jul 20 2013 cgid.conf -rw-r--r-- 1 root root 60 Jul 20 2013 cgid.load -rw-r--r-- 1 root root 58 Jul 20 2013 cgi.load -rw-r--r-- 1 root root 89 Jul 20 2013 proxy_fcgi.load -rw-r--r-- 1 root root 89 Jul 20 2013 proxy_scgi.load CGI 모듈 링크 # ln -s /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/ # ln -s /etc/apache2/mods-available/cgid.conf /etc/apache2/mods-enabled/ # ls -l /etc/apache2/mods-enabled/ | grep cgi lrwxrwxrwx 1 root root 37 Mar 19 14:39 cgid.conf -> /etc/apache2/mods-available/cgid.conf lrwxrwxrwx 1 root root 37 Mar 19 14:39 cgid.load -> /etc/apache2/mods-available/cgid.load 서비스 재 시작 # service apache2 reload
json metadata{"tags":["apache","server","cgi","setting"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19136436/Trx c2cffd610e039561b2c1929997affe79ec444ac9
View Raw JSON Data
{
  "trx_id": "c2cffd610e039561b2c1929997affe79ec444ac9",
  "block": 19136436,
  "trx_in_block": 38,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T06:53:03",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "apache",
      "author": "skysparrow",
      "permlink": "apache2-cgi",
      "title": "Apache2 서버에 CGI 셋팅",
      "body": "mkdir /var/cgi-bin\n\n\n\nand create a file called /var/cgi-bin/echo.pl with the following content:\n\n\n#!/usr/bin/perl\nuse strict;\nuse warnings;\nprint qq(Content-type: text/plain ); \nprint \"hi \";\n\n\n\nchomd +x /var/cgi-bin/echo.pl\n# /var/cgi-bin/echo.pl\nContent-type: text/plain\n\nhi\n\n\n\n\nApache /etc/apache2/sites-enabled/000-default.conf\n\n\n<VirtualHost *:80>\n        ServerAdmin webmaster@localhost\n        DocumentRoot /var/www\n\n        ErrorLog ${APACHE_LOG_DIR}/error.log\n        CustomLog ${APACHE_LOG_DIR}/access.log combined\n</VirtualHost>\n\n와 같은 형식에 내부에 아래 내용을 추가\n   ScriptAlias /cgi-bin/ /var/cgi-bin/\n   <Directory \"/var/cgi-bin\">\n      AllowOverride None\n      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch\n      Require all granted\n   </Directory>\n   \n   \n   \n   \nCGI 모듈 활성화\n\n# ls -l /etc/apache2/mods-enabled/ | grep cgi\n# ls -l /etc/apache2/mods-available/ | grep cgi\n-rw-r--r-- 1 root root   115 Jul 20  2013 cgid.conf\n-rw-r--r-- 1 root root    60 Jul 20  2013 cgid.load\n-rw-r--r-- 1 root root    58 Jul 20  2013 cgi.load\n-rw-r--r-- 1 root root    89 Jul 20  2013 proxy_fcgi.load\n-rw-r--r-- 1 root root    89 Jul 20  2013 proxy_scgi.load\n\n\n\n\nCGI 모듈 링크\n\n# ln -s /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/\n# ln -s /etc/apache2/mods-available/cgid.conf /etc/apache2/mods-enabled/\n\n# ls -l /etc/apache2/mods-enabled/ | grep cgi\nlrwxrwxrwx 1 root root 37 Mar 19 14:39 cgid.conf -> /etc/apache2/mods-available/cgid.conf\nlrwxrwxrwx 1 root root 37 Mar 19 14:39 cgid.load -> /etc/apache2/mods-available/cgid.load\n   \n\n\n\n서비스 재 시작\n\n# service apache2 reload",
      "json_metadata": "{\"tags\":[\"apache\",\"server\",\"cgi\",\"setting\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
skysparrowpublished a new post: l3g4200d
2018/01/20 06:46:54
parent author
parent permlinklg34200d
authorskysparrow
permlinkl3g4200d
title파이썬 소켓통신 <=> L3G4200D 자이로센서 값 받기
body파이썬 소켓통신 <=> L3G4200D 자이로센서 값 받기 1. 자이로센서를 라즈베리 파이에 달아서 로컬에서 값을 받으려 할경우 쓰레드에서 제한적일수있다. 2. 별로 소켓통신을 통해 자이로센서의 주기적 값을 받아오도록 한다. 3. 서버+클라이언트 모두 아이피,포트를 마추어 실행하면되며 서버쪽 출력은 접근정보 만 나타남. 클라이언트 접근후 라즈베리 파이에 연결된 자이로센서의 움직임 값이 출력됨. L3G4200D 자이로센서 강좌 : http://icarusx.com/icarusx/index.php?BOARD=icarusx_raspberry#stMode=VIEW&stPage=1&stIdx=2937 ####################################### # 서버 + 자이로센서 # 파일명 : p_gryo_socket_s.py # 실 행 : p_gryo_socket_s.py 아이피 포트 ####################################### #!/usr/bin/python from socket import * from time import ctime from time import sleep #import smbus to access i2c port import smbus import string import sys #converts 16 bit two"s compliment reading to signed int def getSignedNumber(number): if number & (1 << 15): return number | ~65535 else: return number & 65535 i2c_bus=smbus.SMBus(1) #open /dev/i2c-1 i2c_address=0x69 #i2c slave address of the L3G4200D i2c_bus.write_byte_data(i2c_address,0x20,0x0F) #normal mode and all axes on to control reg1 i2c_bus.write_byte_data(i2c_address,0x23,0x20) #full 2000dps to control reg4 HOST = sys.argv[1] PORT = int(sys.argv[2]) BUFSIZ = 1024 ADDR = (HOST, PORT) tcpSerSock = socket(AF_INET, SOCK_STREAM) tcpSerSock.bind(ADDR) tcpSerSock.listen(5) while True: print "waiting for connection..." tcpCliSock, addr = tcpSerSock.accept() print "...connected from:", addr while True: i2c_bus.write_byte(i2c_address,0x28) X_L = i2c_bus.read_byte(i2c_address) i2c_bus.write_byte(i2c_address,0x29) X_H = i2c_bus.read_byte(i2c_address) X = X_H << 8 | X_L i2c_bus.write_byte(i2c_address,0x2A) Y_L = i2c_bus.read_byte(i2c_address) i2c_bus.write_byte(i2c_address,0x2B) Y_H = i2c_bus.read_byte(i2c_address) Y = Y_H << 8 | Y_L i2c_bus.write_byte(i2c_address,0x2C) Z_L = i2c_bus.read_byte(i2c_address) i2c_bus.write_byte(i2c_address,0x2D) Z_H = i2c_bus.read_byte(i2c_address) Z = Z_H << 8 | Z_L X = getSignedNumber(X) Y = getSignedNumber(Y) Z = getSignedNumber(Z) # tcpCliSock.send("%s,%s,%s" % (string.rjust(`X`, 10),string.rjust(`Y`, 10),string.rjust(`Z`, 10))) tcpCliSock.send("%s,%s,%s" % (X,Y,Z)) sleep(0.02) tcpCliSock.close() tcpSerSock.close() ####################################### # 클라이언트 # 파일명 : p_gryo_socket_c.py # 실 행 : p_gryo_socket_c.py 아이피 포트 ####################################### #!/usr/bin/env python from socket import * import sys HOST = sys.argv[1] PORT = int(sys.argv[2]) BUFSIZ = 1024 ADDR = (HOST, PORT) tcpCliSock = socket(AF_INET, SOCK_STREAM) tcpCliSock.connect(ADDR) while True: data = tcpCliSock.recv(BUFSIZ) print data," " tcpCliSock.close()
json metadata{"tags":["lg34200d","python","import","converts","open"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19136313/Trx a40d5eacbcdff15b0ca136253a27761c64688924
View Raw JSON Data
{
  "trx_id": "a40d5eacbcdff15b0ca136253a27761c64688924",
  "block": 19136313,
  "trx_in_block": 27,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T06:46:54",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "lg34200d",
      "author": "skysparrow",
      "permlink": "l3g4200d",
      "title": "파이썬 소켓통신 <=> L3G4200D 자이로센서 값 받기",
      "body": "파이썬 소켓통신 <=> L3G4200D 자이로센서 값 받기\n\n1. 자이로센서를 라즈베리 파이에 달아서 로컬에서 값을 받으려 할경우 쓰레드에서 제한적일수있다.\n2. 별로 소켓통신을 통해 자이로센서의 주기적 값을 받아오도록 한다.\n3. 서버+클라이언트 모두 아이피,포트를 마추어 실행하면되며\n    서버쪽 출력은 접근정보 만 나타남.\n\n    클라이언트 접근후 라즈베리 파이에 연결된 자이로센서의 움직임 값이 출력됨.\n\n    L3G4200D 자이로센서 강좌 :\n\n          http://icarusx.com/icarusx/index.php?BOARD=icarusx_raspberry#stMode=VIEW&stPage=1&stIdx=2937\n\n\t\n\n\n#######################################\n# 서버 + 자이로센서 \n# 파일명 : p_gryo_socket_s.py\n# 실   행 : p_gryo_socket_s.py 아이피 포트\n#######################################\n\n#!/usr/bin/python\n\nfrom socket import *\nfrom time import ctime\nfrom time import sleep\n#import smbus to access i2c port\nimport smbus\nimport string\nimport sys\n\n\n#converts 16 bit two\"s compliment reading to signed int\ndef getSignedNumber(number):\n   if number & (1 << 15):\n      return number | ~65535\n   else:\n      return number & 65535\n\n\ni2c_bus=smbus.SMBus(1)        #open /dev/i2c-1\ni2c_address=0x69              #i2c slave address of the L3G4200D\ni2c_bus.write_byte_data(i2c_address,0x20,0x0F)        #normal mode and all axes on to control reg1\ni2c_bus.write_byte_data(i2c_address,0x23,0x20)        #full 2000dps to control reg4\n\n\nHOST = sys.argv[1]\nPORT = int(sys.argv[2])\nBUFSIZ = 1024\nADDR = (HOST, PORT)\n \ntcpSerSock = socket(AF_INET, SOCK_STREAM)\ntcpSerSock.bind(ADDR)\ntcpSerSock.listen(5)\n\n\nwhile True:\n   print \"waiting for connection...\"\n   tcpCliSock, addr = tcpSerSock.accept()\n   print \"...connected from:\", addr\n\n\n   while True:\n      i2c_bus.write_byte(i2c_address,0x28)\n      X_L = i2c_bus.read_byte(i2c_address)\n      i2c_bus.write_byte(i2c_address,0x29)\n      X_H = i2c_bus.read_byte(i2c_address)\n      X = X_H << 8 | X_L\n\n      i2c_bus.write_byte(i2c_address,0x2A)\n      Y_L = i2c_bus.read_byte(i2c_address)\n      i2c_bus.write_byte(i2c_address,0x2B)\n      Y_H = i2c_bus.read_byte(i2c_address)\n      Y = Y_H << 8 | Y_L\n\n      i2c_bus.write_byte(i2c_address,0x2C)\n      Z_L = i2c_bus.read_byte(i2c_address)\n      i2c_bus.write_byte(i2c_address,0x2D)\n      Z_H = i2c_bus.read_byte(i2c_address)\n      Z = Z_H << 8 | Z_L\n\n      X = getSignedNumber(X)\n      Y = getSignedNumber(Y)\n      Z = getSignedNumber(Z)\n\n#      tcpCliSock.send(\"%s,%s,%s\" % (string.rjust(`X`, 10),string.rjust(`Y`, 10),string.rjust(`Z`, 10)))\n      tcpCliSock.send(\"%s,%s,%s\" % (X,Y,Z))\n      sleep(0.02)\n\n\n   tcpCliSock.close()\ntcpSerSock.close()\n\n\n\n\n\n\n\n#######################################\n# 클라이언트 \n# 파일명 : p_gryo_socket_c.py\n# 실   행 : p_gryo_socket_c.py 아이피 포트\n#######################################\n\n#!/usr/bin/env python\n \nfrom socket import *\nimport sys\n\nHOST = sys.argv[1]\nPORT = int(sys.argv[2])\nBUFSIZ = 1024\nADDR = (HOST, PORT)\n\ntcpCliSock = socket(AF_INET, SOCK_STREAM)\ntcpCliSock.connect(ADDR)\n\nwhile True:\n    data = tcpCliSock.recv(BUFSIZ)\n    print data,\" \"\n\ntcpCliSock.close()",
      "json_metadata": "{\"tags\":[\"lg34200d\",\"python\",\"import\",\"converts\",\"open\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/01/20 06:41:24
parent author
parent permlinkneo6m
authorskysparrow
permlinkgps-module-gy-gps6mv2-neo-6m-gps
title[검증완료] GPS-Module GY-GPS6MV2 셋팅 / NEO-6M / GPS 데이터 뽑아쓰기
bodyhttp://icarusx.com/icarusx/upload/board/20150613/20150613151158_00531_raspberry_pi_neo6m_gpsmodul.jpg 주의! 건물내에서 실행하면, 전혀 연결이나 데이터값이 들어오지않는다. 필히! 건물외부에서 테스트 하길 바라며. 해당 GPS모듈의 뒷판 과 안테나를 땜질해도 무관하다 라즈베리파이 raspi-config 를 통해서 시리얼 통신을 꼭 꺼야한다 부팅후 - GPS가 잡히지 않는경우 - 이부분을 찾는데 고생좀했다. 1. stty -F /dev/ttyAMA0 9600 명령후 확인해본다 2. gpsd -n -G -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/ttyAMA0 프로세스를 다시 실행해보고 확인한다 (기존프로세스는 죽여야함) ================================ 스펙 ================================ UBlox Brand NEO-6M EEPROM to maintain user settings Compatible with AMP2 and APM2.5 Operating Voltage: 5V Baud Rate: 9600 Brand new in antistatic bag. Dimensions: Antenna: 9x25x25mm Module/Encoder: 4x26x36mm Weight: 18g 4 Mounting holes to suit M3 Bolts ========================================== 공통 GPS 셋팅 ========================================== 참고 : http://www.dominicwormald.co.uk/2015/03/07/gps-module-gy-gps6mv2/ 참고 : http://www.jamesrobertson.eu/blog/2014/jul/02/using-a-raspberry-pi-with-a-ublox-flight-cont.html 라즈베리파이 raspi-config > 시리얼통신 중지 핀배열 Raspberry Pi - 5v -> GPS Module - VIN Raspberry Pi - GND -> GPS Module - GND Raspberry Pi - Tx -> GPS Module - Rx Raspberry Pi - Rx -> GPS Module - Tx ========================================== GPS 셋팅 ========================================== /boot/cmdline.txt 삭제 - GPIO 로 해당 속도가 구동않됨 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 /etc/inittab 비활성화 #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 /etc/default/gpsd # Default settings for gpsd. # Please do not edit this file directly - use `dpkg-reconfigure gpsd" to # change the options. START_DAEMON="true" GPSD_OPTIONS="-n -G" DEVICES="/dev/ttyAMA0" USBAUTO="false" GPSD_SOCKET="/var/run/gpsd.sock" 설치 sudo apt-get install gpsd gpsd-clients python-gps sudo apt-get install minicom 설치 gps 셋팅 *** 실제 이용시 stty -F /dev/ttyAMA0 9600 명령을 사용함에 셋팅은 하지 않아도 무관한듯 **** minicom -s 메뉴에 따라 gps의 옵션을 지정 1. Serial port setup A. Serial Device (데몬지정) : /dev/ttyAMA0 E. Bps/Par/Bits (속도지정) : 115200 2. Save setup ad dfl 3. Exit 4. reboot 부팅시 옵션 - /etc/default/gpsd 에서 옵션을 지정해주어도 정상적인 구동이 되지않는경우 1. stty -F /dev/ttyAMA0 9600 후 확인 2. 프로세스 gpsd -n -G -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/ttyAMA0 를 죽이고 gpsd -n -G -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/ttyAMA0 다시실행 후 확인 1,2 방법중 구동되는 방법을 부팅시 처리한다. /etc/rc.local sudo stty -F /dev/ttyAMA0 9600 라인추가 하였더니 구동않됨 sh 또는 python 으로 우회해서 실행해야한다. python os 로 실행 -> 파이썬을 /etc/etc.rc.local 에서 실행 import os os.system("sudo stty -F /dev/ttyAMA0 9600 &") 체크 cgps 를 통한 GPS상태체크 sudo cgps -s gpsmon 를 통한 GPS상태체크 sudo gpsmon gpsd 데몬실행 gps 모듈은 디바이스 명칭이 ttyAMA0 이며 반드시 모듈과의 연동속도를 지정해주어야 한다. 이제품은 38400 baud rate가 기본 속도이다 minicom -b 9600 -o -D /dev/ttyAMA0 sudo gpsd /dev/ttyAMA0 -b "B=9600" -F /var/run/gpsd.sock ========================================== webiopi 를통한 GoogleMap 연동 ========================================== git clone https://github.com/rasplay/googleMapGPS.git cd googleMapGPS Gpsreceive.py : gpsd 에서 데이타를 받아 webiopi Server로 송신한다. index.html : 웹화면으로 표시되는 메인 화면이다. webiopi_script.py : 웹서버에서 참고하는 script 이다. /etc/webiopi/config myscript = /home/pi/googleMapGPS/webiopi_script.py doc-root = /home/pi/googleMapGPS 재시작 sudo service webiopi restart 클라이언트 구동 sudo python ./Gpsreceive.py 웹기반 구글맵 정보 http://IP:8000 ================= 추가팁 ================= UART 인 경우 $ sudo gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock 단, Ublox NEO-6/7 GPS 모듈인 경우 속도 설정 필요 $ sudo gpsd /dev/ttyAMA0 -b “B=9600” -F /var/run/gpsd.sock 부팅 시에 자동으로 실행하도록 설정하려면 dpkg-reconfigure gpsd 명령으로 설정하거나 /etc/default/gpsd 파일을 편집하여 다음과 비슷한 내용을 추가하면 된다. GPSD_OPTIONS=”/dev/AMA0 -b ”B=9600”” ====================================================== GPS 데이터 뽑아쓰기 ====================================================== 참고 : https://bigdanzblog.wordpress.com/2015/01/18/connecting-u-blox-neo-6m-gps-to-raspberry-pi/ sudo cat /dev/ttyAMA0 gpspipe -w -n 30 | grep -m 1 lat JQ 설치 20150616140218_jq1.3.tar.gz curl -O http://stedolan.github.io/jq/download/source/jq-1.3.tar.gz tar xfvz jq-1.3.tar.gz cd jq-1.3 ./configure make make install sudo cp jq /usr/bin gps값 반환 gpspipe -w -n 30 | grep -m 1 lat | jq "." { "climb": 0, "speed": 3.41, "track": 284.94, "epv": 67.16, "epy": 17.333, "epx": 10.884, "alt": -33.3, "class": "TPV", "tag": "GLL", "device": "/dev/ttyAMA0", "mode": 3, "time": "2015-06-16T04:49:37.000Z", "ept": 0.005, "lat": 37.448068667, "lon": 126.695746833 } 경도값만 반환 gpspipe -w -n 30 | grep -m 1 lat | jq ".lat" 00.00000 경위도 반환 gpspipe -w -n 30 | grep -m 1 lat | jq ". | {lat,lon}" { "lon": 000.000000 "lat": 00.0000000 } 또는 gpspipe -w -n 30 | grep -m 1 lat | jq ".lon,.lat" 000.00000 00.000000 echo $(gpspipe -w -n 30 | grep -m 1 lat | jq ".lat") $(gpspipe -w -n 30 | grep -m 1 lat | jq ".lon") 00.000000 000.0000000 echo "http://google.com/maps/@lat="$(gpspipe-n 30 | grep -m 1 lat | jq ".lat")","$(gpspipe -w -n 30 | grep -m 1 lat | jq ".lon") http://google.com/maps/@lat=00.00000,000.00000
json metadata{"tags":["neo6m","gps","module","gps6mv2","t0"],"image":["http://icarusx.com/icarusx/upload/board/20150613/20150613151158_00531_raspberry_pi_neo6m_gpsmodul.jpg"],"links":["http://www.dominicwormald.co.uk/2015/03/07/gps-module-gy-gps6mv2/","http://www.jamesrobertson.eu/blog/2014/jul/02/using-a-raspberry-pi-with-a-ublox-flight-cont.html","https://github.com/rasplay/googleMapGPS.git","http://IP:8000","https://bigdanzblog.wordpress.com/2015/01/18/connecting-u-blox-neo-6m-gps-to-raspberry-pi/","http://google.com/maps/@lat=","http://google.com/maps/@lat=00.00000,000.00000"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19136204/Trx 153c0adc11e7a6bdbb4eb1593e3ec2db8a523668
View Raw JSON Data
{
  "trx_id": "153c0adc11e7a6bdbb4eb1593e3ec2db8a523668",
  "block": 19136204,
  "trx_in_block": 0,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T06:41:24",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "neo6m",
      "author": "skysparrow",
      "permlink": "gps-module-gy-gps6mv2-neo-6m-gps",
      "title": "[검증완료] GPS-Module GY-GPS6MV2 셋팅 / NEO-6M / GPS 데이터 뽑아쓰기",
      "body": "http://icarusx.com/icarusx/upload/board/20150613/20150613151158_00531_raspberry_pi_neo6m_gpsmodul.jpg\n\n주의! 건물내에서 실행하면, 전혀 연결이나 데이터값이 들어오지않는다.\n필히! 건물외부에서 테스트 하길 바라며.\n\n해당 GPS모듈의 뒷판 과 안테나를 땜질해도 무관하다\n\n\n라즈베리파이 raspi-config 를 통해서 시리얼 통신을 꼭 꺼야한다\n\n\n부팅후 - GPS가 잡히지  않는경우 - 이부분을 찾는데 고생좀했다.\n\n1. stty -F /dev/ttyAMA0 9600 명령후 확인해본다\n2. gpsd -n -G -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/ttyAMA0 프로세스를 다시 실행해보고 확인한다 (기존프로세스는 죽여야함)\n\n\n\n================================\n스펙\n================================\nUBlox Brand NEO-6M\nEEPROM to maintain user settings\nCompatible with AMP2 and APM2.5 \nOperating Voltage: 5V\nBaud Rate: 9600\nBrand new in antistatic bag. \nDimensions:\nAntenna: 9x25x25mm\nModule/Encoder: 4x26x36mm\nWeight: 18g\n4 Mounting holes to suit M3 Bolts\n\n\n\n==========================================\n공통 GPS 셋팅\n==========================================\n참고 : http://www.dominicwormald.co.uk/2015/03/07/gps-module-gy-gps6mv2/\n참고 : http://www.jamesrobertson.eu/blog/2014/jul/02/using-a-raspberry-pi-with-a-ublox-flight-cont.html\n\n\n라즈베리파이 raspi-config > 시리얼통신 중지\n\n핀배열\n         Raspberry Pi - 5v -> GPS Module - VIN\n         Raspberry Pi - GND -> GPS Module - GND\n         Raspberry Pi - Tx -> GPS Module - Rx\n         Raspberry Pi - Rx -> GPS Module - Tx\n\n\n\n\n==========================================\nGPS 셋팅\n==========================================\n/boot/cmdline.txt\n         삭제 - GPIO 로 해당 속도가 구동않됨\n         console=ttyAMA0,115200 kgdboc=ttyAMA0,115200\n\n/etc/inittab\n         비활성화\n         #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100\n\n\n\n/etc/default/gpsd\n         # Default settings for gpsd.\n         # Please do not edit this file directly - use `dpkg-reconfigure gpsd\" to\n         # change the options.\n         START_DAEMON=\"true\"\n         GPSD_OPTIONS=\"-n -G\"\n         DEVICES=\"/dev/ttyAMA0\"\n         USBAUTO=\"false\"\n         GPSD_SOCKET=\"/var/run/gpsd.sock\"\n\n\n설치\n     sudo apt-get install gpsd gpsd-clients python-gps\n     sudo apt-get install minicom 설치\n\n\ngps 셋팅  *** 실제 이용시  stty -F /dev/ttyAMA0 9600 명령을 사용함에 셋팅은 하지 않아도 무관한듯 ****\n     minicom -s\n     메뉴에 따라 gps의 옵션을 지정\n\n\n     1. Serial port setup\n          A. Serial Device (데몬지정) : /dev/ttyAMA0\n          E. Bps/Par/Bits (속도지정) : 115200 \n     2. Save setup ad dfl\n     3. Exit\n     4. reboot\n\n\n부팅시 옵션 - /etc/default/gpsd 에서 옵션을 지정해주어도 정상적인 구동이 되지않는경우\n     1. stty -F /dev/ttyAMA0 9600 후 확인\n\n     2. 프로세스 gpsd -n -G -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/ttyAMA0 를 죽이고\n          gpsd -n -G -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/ttyAMA0 다시실행\n          후 확인\n\n     1,2 방법중 구동되는 방법을 부팅시 처리한다.\n\n          /etc/rc.local\n               sudo stty -F /dev/ttyAMA0 9600 라인추가   하였더니 구동않됨\n\n          sh 또는 python 으로 우회해서 실행해야한다.\n\n\n     python os 로 실행 -> 파이썬을 /etc/etc.rc.local 에서 실행\n          import os\n          os.system(\"sudo stty -F /dev/ttyAMA0 9600 &\")\n\n\n\n체크\n     cgps 를 통한   GPS상태체크\n     sudo cgps -s\n\n     gpsmon 를 통한   GPS상태체크\n     sudo gpsmon\n\n\n\n\n\n\n\ngpsd 데몬실행\n         gps 모듈은 디바이스 명칭이 ttyAMA0 이며\n         반드시 모듈과의 연동속도를 지정해주어야 한다.\n         이제품은 38400 baud rate가  기본 속도이다\n\nminicom -b 9600 -o -D /dev/ttyAMA0\nsudo gpsd /dev/ttyAMA0 -b \"B=9600\" -F /var/run/gpsd.sock\n\n\n\n\n\n==========================================\nwebiopi 를통한 GoogleMap 연동\n==========================================\n\ngit clone https://github.com/rasplay/googleMapGPS.git\n\ncd googleMapGPS\n\nGpsreceive.py : gpsd 에서 데이타를 받아 webiopi Server로 송신한다.\nindex.html : 웹화면으로 표시되는 메인 화면이다.\nwebiopi_script.py : 웹서버에서 참고하는 script 이다.\n\n/etc/webiopi/config\nmyscript = /home/pi/googleMapGPS/webiopi_script.py\ndoc-root = /home/pi/googleMapGPS\n\n\n재시작\nsudo service webiopi restart\n\n클라이언트 구동\nsudo python ./Gpsreceive.py\n\n웹기반 구글맵 정보\nhttp://IP:8000\n\n\n\n\n=================\n추가팁\n=================\nUART 인 경우\n$ sudo gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock\n\n단, Ublox NEO-6/7 GPS 모듈인 경우 속도 설정 필요\n$ sudo gpsd /dev/ttyAMA0 -b “B=9600” -F /var/run/gpsd.sock\n\n부팅 시에 자동으로 실행하도록 설정하려면 dpkg-reconfigure gpsd 명령으로 설정하거나 /etc/default/gpsd 파일을 편집하여 다음과 비슷한 내용을 추가하면 된다.\nGPSD_OPTIONS=”/dev/AMA0 -b ”B=9600””\n\n\n\n\n\n\n\n\n\n\n======================================================\nGPS 데이터 뽑아쓰기\n======================================================\n\n참고 : https://bigdanzblog.wordpress.com/2015/01/18/connecting-u-blox-neo-6m-gps-to-raspberry-pi/\n\nsudo cat /dev/ttyAMA0\n\ngpspipe -w -n 30 | grep -m 1 lat\n\n\nJQ 설치   20150616140218_jq1.3.tar.gz\n\n         curl -O http://stedolan.github.io/jq/download/source/jq-1.3.tar.gz\n         tar xfvz jq-1.3.tar.gz\n         cd jq-1.3\n         ./configure\n         make\n         make install\n         sudo cp jq /usr/bin\n\n\n\ngps값 반환\ngpspipe -w -n 30 | grep -m 1 lat | jq \".\"\n{\n  \"climb\": 0,\n  \"speed\": 3.41,\n  \"track\": 284.94,\n  \"epv\": 67.16,\n  \"epy\": 17.333,\n  \"epx\": 10.884,\n  \"alt\": -33.3,\n  \"class\": \"TPV\",\n  \"tag\": \"GLL\",\n  \"device\": \"/dev/ttyAMA0\",\n  \"mode\": 3,\n  \"time\": \"2015-06-16T04:49:37.000Z\",\n  \"ept\": 0.005,\n  \"lat\": 37.448068667,\n  \"lon\": 126.695746833\n}\n\n\n\n경도값만 반환\ngpspipe -w -n 30 | grep -m 1 lat | jq \".lat\"\n00.00000\n\n\n\n\n경위도 반환\ngpspipe -w -n 30 | grep -m 1 lat | jq \". | {lat,lon}\"\n{\n  \"lon\": 000.000000\n  \"lat\": 00.0000000\n}\n\n또는\n\ngpspipe -w -n 30 | grep -m 1 lat | jq \".lon,.lat\"\n000.00000\n00.000000\n\n\n\n\n\necho $(gpspipe -w -n 30 | grep -m 1 lat | jq \".lat\") $(gpspipe -w -n 30 | grep -m 1 lat | jq \".lon\")\n00.000000 000.0000000\n\n\n\necho \"http://google.com/maps/@lat=\"$(gpspipe-n 30 | grep -m 1 lat | jq \".lat\")\",\"$(gpspipe -w -n 30 | grep -m 1 lat | jq \".lon\")\nhttp://google.com/maps/@lat=00.00000,000.00000",
      "json_metadata": "{\"tags\":[\"neo6m\",\"gps\",\"module\",\"gps6mv2\",\"t0\"],\"image\":[\"http://icarusx.com/icarusx/upload/board/20150613/20150613151158_00531_raspberry_pi_neo6m_gpsmodul.jpg\"],\"links\":[\"http://www.dominicwormald.co.uk/2015/03/07/gps-module-gy-gps6mv2/\",\"http://www.jamesrobertson.eu/blog/2014/jul/02/using-a-raspberry-pi-with-a-ublox-flight-cont.html\",\"https://github.com/rasplay/googleMapGPS.git\",\"http://IP:8000\",\"https://bigdanzblog.wordpress.com/2015/01/18/connecting-u-blox-neo-6m-gps-to-raspberry-pi/\",\"http://google.com/maps/@lat=\",\"http://google.com/maps/@lat=00.00000,000.00000\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/01/20 06:36:18
parent author
parent permlinkrasberry
authorskysparrow
permlinkrasberry-fi-resolution-option
title라즈베리파이 해상도 옵션 / rasberry fi resolution option
body/boot/config.txt hdmi_force_hotplug = 1 hdmi_group = 2 hdmi_mode = 58 # 여기서 해상도를 설정한다 hdmi_drive = 1 ================================================ hdmi_group=2 (DMT) 인 경우: 주의 :최대 해상도는 1920x1200 @60 Hz (reduced blanking) ================================================ hdmi_mode=1 640x350 85 Hz hdmi_mode=2 640x400 85 Hz hdmi_mode=3 720x400 85 Hz hdmi_mode=4 640x480 60 Hz hdmi_mode=5 640x480 72 Hz hdmi_mode=6 640x480 75 Hz hdmi_mode=7 640x480 85 Hz hdmi_mode=8 800x600 56 Hz hdmi_mode=9 800x600 60 Hz hdmi_mode=10 800x600 72 Hz hdmi_mode=11 800x600 75 Hz hdmi_mode=12 800x600 85 Hz hdmi_mode=13 800x600 120 Hz hdmi_mode=14 848x480 60 Hz hdmi_mode=15 1024x768 43 Hz DO NOT USE hdmi_mode=16 1024x768 60 Hz hdmi_mode=17 1024x768 70 Hz hdmi_mode=18 1024x768 75 Hz hdmi_mode=19 1024x768 85 Hz hdmi_mode=20 1024x768 120 Hz hdmi_mode=21 1152x864 75 Hz hdmi_mode=22 1280x768 Reduced blanking hdmi_mode=23 1280x768 60 Hz hdmi_mode=24 1280x768 75 Hz hdmi_mode=25 1280x768 85 Hz hdmi_mode=26 1280x768 120 Hz Reduced blanking hdmi_mode=27 1280x800 Reduced blanking hdmi_mode=28 1280x800 60 Hz hdmi_mode=29 1280x800 75 Hz hdmi_mode=30 1280x800 85 Hz hdmi_mode=31 1280x800 120 Hz Reduced blanking hdmi_mode=32 1280x960 60 Hz hdmi_mode=33 1280x960 85 Hz hdmi_mode=34 1280x960 120 Hz Reduced blanking hdmi_mode=35 1280x1024 60 Hz hdmi_mode=36 1280x1024 75 Hz hdmi_mode=37 1280x1024 85 Hz hdmi_mode=38 1280x1024 120 Hz Reduced blanking hdmi_mode=39 1360x768 60 Hz hdmi_mode=40 1360x768 120 Hz Reduced blanking hdmi_mode=41 1400x1050 Reduced blanking hdmi_mode=42 1400x1050 60 Hz hdmi_mode=43 1400x1050 75 Hz hdmi_mode=44 1400x1050 85 Hz hdmi_mode=45 1400x1050 120 Hz Reduced blanking hdmi_mode=46 1440x900 Reduced blanking hdmi_mode=47 1440x900 60 Hz hdmi_mode=48 1440x900 75 Hz hdmi_mode=49 1440x900 85 Hz hdmi_mode=50 1440x900 120 Hz Reduced blanking hdmi_mode=51 1600x1200 60 Hz hdmi_mode=52 1600x1200 65 Hz hdmi_mode=53 1600x1200 70 Hz hdmi_mode=54 1600x1200 75 Hz hdmi_mode=55 1600x1200 85 Hz hdmi_mode=56 1600x1200 120 Hz Reduced blanking hdmi_mode=57 1680x1050 Reduced blanking hdmi_mode=58 1680x1050 60 Hz hdmi_mode=59 1680x1050 75 Hz hdmi_mode=60 1680x1050 85 Hz hdmi_mode=61 1680x1050 120 Hz Reduced blanking hdmi_mode=62 1792x1344 60 Hz hdmi_mode=63 1792x1344 75 Hz hdmi_mode=64 1792x1344 120 Hz Reduced blanking hdmi_mode=65 1856x1392 60 Hz hdmi_mode=66 1856x1392 75 Hz hdmi_mode=67 1856x1392 120 Hz Reduced blanking hdmi_mode=68 1920x1200 Reduced blanking hdmi_mode=69 1920x1200 60 Hz hdmi_mode=70 1920x1200 75 Hz hdmi_mode=71 1920x1200 85 Hz hdmi_mode=72 1920x1200 120 Hz Reduced blanking hdmi_mode=73 1920x1440 60 Hz hdmi_mode=74 1920x1440 75 Hz hdmi_mode=75 1920x1440 120 Hz Reduced blanking hdmi_mode=76 2560x1600 Reduced blanking hdmi_mode=77 2560x1600 60 Hz hdmi_mode=78 2560x1600 75 Hz hdmi_mode=79 2560x1600 85 Hz hdmi_mode=80 2560x1600 120 Hz Reduced blanking hdmi_mode=81 1366x768 60 Hz hdmi_mode=82 1080p 60 Hz hdmi_mode=83 1600x900 Reduced blanking hdmi_mode=84 2048x1152 Reduced blanking hdmi_mode=85 720p 60 Hz hdmi_mode=86 1366x768 Reduced blanking
json metadata{"tags":["rasberry","fi","resolution","option"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19136102/Trx 6fd19b4da6662ed7197a187bf4d8d92db7de517c
View Raw JSON Data
{
  "trx_id": "6fd19b4da6662ed7197a187bf4d8d92db7de517c",
  "block": 19136102,
  "trx_in_block": 18,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T06:36:18",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "rasberry",
      "author": "skysparrow",
      "permlink": "rasberry-fi-resolution-option",
      "title": "라즈베리파이 해상도 옵션 / rasberry fi resolution option",
      "body": "/boot/config.txt \n\n   hdmi_force_hotplug = 1\n   hdmi_group = 2\n   hdmi_mode = 58   # 여기서 해상도를 설정한다\n   hdmi_drive = 1 \n\n\n================================================\nhdmi_group=2 (DMT) 인 경우:\n주의 :최대 해상도는 1920x1200 @60 Hz (reduced blanking)\n================================================\n\nhdmi_mode=1    640x350    85 Hz\nhdmi_mode=2    640x400    85 Hz\nhdmi_mode=3    720x400    85 Hz\nhdmi_mode=4    640x480    60 Hz\nhdmi_mode=5    640x480    72 Hz\nhdmi_mode=6    640x480    75 Hz\nhdmi_mode=7    640x480    85 Hz\nhdmi_mode=8    800x600    56 Hz\nhdmi_mode=9    800x600    60 Hz\nhdmi_mode=10   800x600    72 Hz\nhdmi_mode=11   800x600    75 Hz\nhdmi_mode=12   800x600    85 Hz\nhdmi_mode=13   800x600   120 Hz\nhdmi_mode=14   848x480    60 Hz\nhdmi_mode=15   1024x768   43 Hz  DO NOT USE\nhdmi_mode=16   1024x768   60 Hz\nhdmi_mode=17   1024x768   70 Hz\nhdmi_mode=18   1024x768   75 Hz\nhdmi_mode=19   1024x768   85 Hz\nhdmi_mode=20   1024x768  120 Hz\nhdmi_mode=21   1152x864   75 Hz\nhdmi_mode=22   1280x768          Reduced blanking\nhdmi_mode=23   1280x768   60 Hz\nhdmi_mode=24   1280x768   75 Hz\nhdmi_mode=25   1280x768   85 Hz\nhdmi_mode=26   1280x768  120 Hz  Reduced blanking\nhdmi_mode=27   1280x800          Reduced blanking\nhdmi_mode=28   1280x800   60 Hz  \nhdmi_mode=29   1280x800   75 Hz  \nhdmi_mode=30   1280x800   85 Hz  \nhdmi_mode=31   1280x800  120 Hz  Reduced blanking\nhdmi_mode=32   1280x960   60 Hz  \nhdmi_mode=33   1280x960   85 Hz  \nhdmi_mode=34   1280x960  120 Hz  Reduced blanking\nhdmi_mode=35   1280x1024  60 Hz  \nhdmi_mode=36   1280x1024  75 Hz  \nhdmi_mode=37   1280x1024  85 Hz  \nhdmi_mode=38   1280x1024 120 Hz  Reduced blanking\nhdmi_mode=39   1360x768   60 Hz  \nhdmi_mode=40   1360x768  120 Hz  Reduced blanking\nhdmi_mode=41   1400x1050         Reduced blanking\nhdmi_mode=42   1400x1050  60 Hz  \nhdmi_mode=43   1400x1050  75 Hz  \nhdmi_mode=44   1400x1050  85 Hz  \nhdmi_mode=45   1400x1050 120 Hz  Reduced blanking\nhdmi_mode=46   1440x900          Reduced blanking\nhdmi_mode=47   1440x900   60 Hz  \nhdmi_mode=48   1440x900   75 Hz  \nhdmi_mode=49   1440x900   85 Hz  \nhdmi_mode=50   1440x900  120 Hz  Reduced blanking\nhdmi_mode=51   1600x1200  60 Hz  \nhdmi_mode=52   1600x1200  65 Hz  \nhdmi_mode=53   1600x1200  70 Hz  \nhdmi_mode=54   1600x1200  75 Hz  \nhdmi_mode=55   1600x1200  85 Hz  \nhdmi_mode=56   1600x1200 120 Hz  Reduced blanking\nhdmi_mode=57   1680x1050         Reduced blanking\nhdmi_mode=58   1680x1050  60 Hz  \nhdmi_mode=59   1680x1050  75 Hz  \nhdmi_mode=60   1680x1050  85 Hz  \nhdmi_mode=61   1680x1050 120 Hz  Reduced blanking\nhdmi_mode=62   1792x1344  60 Hz  \nhdmi_mode=63   1792x1344  75 Hz  \nhdmi_mode=64   1792x1344 120 Hz  Reduced blanking\nhdmi_mode=65   1856x1392  60 Hz  \nhdmi_mode=66   1856x1392  75 Hz  \nhdmi_mode=67   1856x1392 120 Hz  Reduced blanking\nhdmi_mode=68   1920x1200         Reduced blanking\nhdmi_mode=69   1920x1200  60 Hz  \nhdmi_mode=70   1920x1200  75 Hz  \nhdmi_mode=71   1920x1200  85 Hz  \nhdmi_mode=72   1920x1200 120 Hz  Reduced blanking\nhdmi_mode=73   1920x1440  60 Hz  \nhdmi_mode=74   1920x1440  75 Hz  \nhdmi_mode=75   1920x1440 120 Hz  Reduced blanking\nhdmi_mode=76   2560x1600         Reduced blanking\nhdmi_mode=77   2560x1600  60 Hz  \nhdmi_mode=78   2560x1600  75 Hz  \nhdmi_mode=79   2560x1600  85 Hz  \nhdmi_mode=80   2560x1600 120 Hz  Reduced blanking\nhdmi_mode=81   1366x768   60 Hz  \nhdmi_mode=82   1080p      60 Hz  \nhdmi_mode=83   1600x900          Reduced blanking\nhdmi_mode=84   2048x1152         Reduced blanking\nhdmi_mode=85   720p       60 Hz  \nhdmi_mode=86   1366x768          Reduced blanking",
      "json_metadata": "{\"tags\":[\"rasberry\",\"fi\",\"resolution\",\"option\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
2018/01/20 06:32:54
votersmarthamster72
authorskysparrow
permlinkap-rasberry-pi-for-ap-wifi-ap
weight100 (1.00%)
Transaction InfoBlock #19136034/Trx a05e962ea0ee8e749167c3c46895434ed184538a
View Raw JSON Data
{
  "trx_id": "a05e962ea0ee8e749167c3c46895434ed184538a",
  "block": 19136034,
  "trx_in_block": 15,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T06:32:54",
  "op": [
    "vote",
    {
      "voter": "smarthamster72",
      "author": "skysparrow",
      "permlink": "ap-rasberry-pi-for-ap-wifi-ap",
      "weight": 100
    }
  ]
}
2018/01/20 06:30:51
parent author
parent permlinkrasberryfi
authorskysparrow
permlinkap-rasberry-pi-for-ap-wifi-ap
title라즈베리파이를 AP 로 / Rasberry Pi for AP (wifi AP)
body라즈베리파이를 AP 로 lsusb 실행 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter 관련 장비가 있다면 AP 로 활용이 가능함 1. apt-get 업데이트 sudo apt-get update; sudo apt-get upgrade -y 2. 패키지설치 sudo apt-get install hostapd bridge-utils iw 3. Network 설정 ** 혹시모를일에 대비해 백업 sudo cp /etc/network/interfaces /etc/network/interfaces.bak sudo nano /etc/network/interfaces auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet dhcp iface default inet dhcp # Insert This For Wireless AP Mode auto br0 iface br0 inet dhcp bridge_ports eth0 wlan0 4. hostap 설정 hostapd Package를 설치할때 생성된 hostapd는 rtl8188 driver가 포함되어 있지 않다함 보통은 kernel에 driver가 포함된 hostapd를 사용해야 한다. 해당 소스를 구해서 컴파일 하면 되나, 우리는 이미 떠돌아다니는 컴파일 완료된 파일을 사용하여보자. 5. 기존 hosttapd 백업하기 cd /usr/sbin sudo cp /usr/sbin/hostapd /usr/sbin/hostapd.bak sudo rm -f hostapd 6. 컴파일된 hosttap 다운로드 및 실행 권한 부여 sudo wget http://dl.dropbox.com/u/1663660/hostapd/hostapd sudo chown root:root hostapd sudo chmod 755 hostapd 7. 환경설정 파일 수정 wifi AP 설정 sudo nano /etc/hostapd/hostapd.conf interface=wlan0 driver=rtl871xdrv bridge=br0 ssid=RPiAP "무선AP명" channel=6 wmm_enabled=0 wpa=1 hw_mode=g wpa_passphrase="AP암호" ## Key management algorithms ## wpa_key_mgmt=WPA-PSK ## Set cipher suites (encryption algorithms) ## ## TKIP = Temporal Key Integrity Protocol ## CCMP = AES in Counter mode with CBC-MAC wpa_pairwise=TKIP rsn_pairwise=CCMP ## Shared Key Authentication ## auth_algs=1 ## Accept all MAC address ### macaddr_acl=0 hostap 설정 sudo nano /etc/default/hostapd # Defaults for hostapd initscript # # See /usr/share/doc/hostapd/README.Debian for information about alternative # methods of managing hostapd. # # Uncomment and set DAEMON_CONF to the absolute path of a hostapd configuration # file and hostapd will be started during system boot. An example configuration # file can be found at /usr/share/doc/hostapd/examples/hostapd.conf.gz # DAEMON_CONF=”/etc/hostapd/hostapd.conf” # Additional daemon options to be appended to hostapd command:- # -d show more debug messages (-dd for even more) # -K include key data in debug messages # -t include timestamps in some debug messages # # Note that -B (daemon mode) and -P (pidfile) options are automatically # configured by the init.d script and must not be added to DAEMON_OPTS. # #DAEMON_OPTS=”” 8. 재시작 sudo service networking restart sudo service hostapd restart
json metadata{"tags":["rasberryfi","ap"],"links":["http://dl.dropbox.com/u/1663660/hostapd/hostapd"],"app":"steemit/0.1","format":"markdown"}
Transaction InfoBlock #19135993/Trx c702163eb817770d87aa11bd3287187891995d65
View Raw JSON Data
{
  "trx_id": "c702163eb817770d87aa11bd3287187891995d65",
  "block": 19135993,
  "trx_in_block": 43,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T06:30:51",
  "op": [
    "comment",
    {
      "parent_author": "",
      "parent_permlink": "rasberryfi",
      "author": "skysparrow",
      "permlink": "ap-rasberry-pi-for-ap-wifi-ap",
      "title": "라즈베리파이를 AP 로 / Rasberry Pi for AP (wifi AP)",
      "body": "라즈베리파이를 AP 로 \n\n\nlsusb 실행\n\nRealtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter  관련 장비가 있다면\nAP 로 활용이 가능함\n\n\n\n\n1. apt-get 업데이트\n\n   sudo apt-get update;\n   sudo apt-get upgrade -y\n\n\n2. 패키지설치\n\n   sudo apt-get install hostapd bridge-utils iw\n\n3. Network 설정\n\n   ** 혹시모를일에 대비해 백업\n   sudo cp /etc/network/interfaces /etc/network/interfaces.bak\n\n   \n   sudo nano /etc/network/interfaces\n\n\n      auto lo\n\n      iface lo inet loopback\n      iface eth0 inet dhcp\n\n      allow-hotplug wlan0\n      iface wlan0 inet dhcp\n\n      iface default inet dhcp\n\n      # Insert This For Wireless AP Mode\n      auto br0\n      iface br0 inet dhcp\n      bridge_ports eth0 wlan0\n\n4. hostap 설정\n\n   hostapd Package를 설치할때 생성된 \n   hostapd는 rtl8188 driver가 포함되어 있지 않다함\n\n   보통은 kernel에 driver가 포함된 hostapd를 사용해야 한다.\n   해당 소스를 구해서 컴파일 하면 되나, \n   우리는 이미 떠돌아다니는 컴파일 완료된 파일을 사용하여보자.\n\n\n5. 기존 hosttapd 백업하기\n\n   cd /usr/sbin\n   sudo cp /usr/sbin/hostapd /usr/sbin/hostapd.bak\n   sudo rm -f hostapd\n\n6. 컴파일된 hosttap 다운로드 및 실행 권한 부여\n\n   sudo wget http://dl.dropbox.com/u/1663660/hostapd/hostapd\n   sudo chown root:root hostapd\n   sudo chmod 755 hostapd\n\n7. 환경설정 파일 수정\n\n   wifi AP 설정\n      sudo nano /etc/hostapd/hostapd.conf\n\n         interface=wlan0\n         driver=rtl871xdrv\n         bridge=br0\n         ssid=RPiAP \"무선AP명\"\n         channel=6\n         wmm_enabled=0\n         wpa=1\n         hw_mode=g\n         wpa_passphrase=\"AP암호\"\n\n         ## Key management algorithms ##\n         wpa_key_mgmt=WPA-PSK\n         ## Set cipher suites (encryption algorithms) ##\n         ## TKIP = Temporal Key Integrity Protocol\n         ## CCMP = AES in Counter mode with CBC-MAC\n         wpa_pairwise=TKIP\n         rsn_pairwise=CCMP\n         ## Shared Key Authentication ##\n         auth_algs=1\n         ## Accept all MAC address ###\n         macaddr_acl=0\n\n\n   hostap 설정\n      sudo nano /etc/default/hostapd\n\n         # Defaults for hostapd initscript\n         #\n         # See /usr/share/doc/hostapd/README.Debian for information about alternative\n         # methods of managing hostapd.\n         #\n         # Uncomment and set DAEMON_CONF to the absolute path of a hostapd configuration\n         # file and hostapd will be started during system boot. An example configuration\n         # file can be found at /usr/share/doc/hostapd/examples/hostapd.conf.gz\n         #\n         DAEMON_CONF=”/etc/hostapd/hostapd.conf”\n\n         # Additional daemon options to be appended to hostapd command:-\n         # -d show more debug messages (-dd for even more)\n         # -K include key data in debug messages\n         # -t include timestamps in some debug messages\n         #\n         # Note that -B (daemon mode) and -P (pidfile) options are automatically\n         # configured by the init.d script and must not be added to DAEMON_OPTS.\n         #\n         #DAEMON_OPTS=””\n\n8. 재시작\n\n   sudo service networking restart\n   sudo service hostapd restart",
      "json_metadata": "{\"tags\":[\"rasberryfi\",\"ap\"],\"links\":[\"http://dl.dropbox.com/u/1663660/hostapd/hostapd\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
    }
  ]
}
steemcreated a new account: @skysparrow
2018/01/20 04:30:45
fee0.500 STEEM
delegation29700.000000 VESTS
creatorsteem
new account nameskysparrow
owner{"weight_threshold":1,"account_auths":[],"key_auths":[["STM8NqjTaAiSbUzkHDECHnXQNxgjD2L22MwV39Q2rMBFFMdjHEm78",1]]}
active{"weight_threshold":1,"account_auths":[],"key_auths":[["STM5UrfBtvdgBhR3ftha4DWPf6GX9VZyvyJcrqs8nvfBmsK1uBkKS",1]]}
posting{"weight_threshold":1,"account_auths":[],"key_auths":[["STM5Cg1foYwUEZPoZfRdGSgs9xD5vbjb4Y8oRycGMfSfiZy5FQhET",1]]}
memo keySTM6eiuZVzTcXxQf8kuB5SWqbCeeeLvkprX8XBCejfv5AEU2qLYaQ
json metadata
extensions[]
Transaction InfoBlock #19133594/Trx 04b594e0b46c0ba0775da60763ddee6637f6acab
View Raw JSON Data
{
  "trx_id": "04b594e0b46c0ba0775da60763ddee6637f6acab",
  "block": 19133594,
  "trx_in_block": 27,
  "op_in_trx": 0,
  "virtual_op": 0,
  "timestamp": "2018-01-20T04:30:45",
  "op": [
    "account_create_with_delegation",
    {
      "fee": "0.500 STEEM",
      "delegation": "29700.000000 VESTS",
      "creator": "steem",
      "new_account_name": "skysparrow",
      "owner": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM8NqjTaAiSbUzkHDECHnXQNxgjD2L22MwV39Q2rMBFFMdjHEm78",
            1
          ]
        ]
      },
      "active": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM5UrfBtvdgBhR3ftha4DWPf6GX9VZyvyJcrqs8nvfBmsK1uBkKS",
            1
          ]
        ]
      },
      "posting": {
        "weight_threshold": 1,
        "account_auths": [],
        "key_auths": [
          [
            "STM5Cg1foYwUEZPoZfRdGSgs9xD5vbjb4Y8oRycGMfSfiZy5FQhET",
            1
          ]
        ]
      },
      "memo_key": "STM6eiuZVzTcXxQf8kuB5SWqbCeeeLvkprX8XBCejfv5AEU2qLYaQ",
      "json_metadata": "",
      "extensions": []
    }
  ]
}

Account Metadata

POSTING JSON METADATA
None
JSON METADATA
None
{
  "posting_json_metadata": {},
  "json_metadata": {}
}

Auth Keys

Owner
Single Signature
Public Keys
STM8NqjTaAiSbUzkHDECHnXQNxgjD2L22MwV39Q2rMBFFMdjHEm781/1
Active
Single Signature
Public Keys
STM5UrfBtvdgBhR3ftha4DWPf6GX9VZyvyJcrqs8nvfBmsK1uBkKS1/1
Posting
Single Signature
Public Keys
STM5Cg1foYwUEZPoZfRdGSgs9xD5vbjb4Y8oRycGMfSfiZy5FQhET1/1
Memo
STM6eiuZVzTcXxQf8kuB5SWqbCeeeLvkprX8XBCejfv5AEU2qLYaQ
{
  "owner": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM8NqjTaAiSbUzkHDECHnXQNxgjD2L22MwV39Q2rMBFFMdjHEm78",
        1
      ]
    ]
  },
  "active": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5UrfBtvdgBhR3ftha4DWPf6GX9VZyvyJcrqs8nvfBmsK1uBkKS",
        1
      ]
    ]
  },
  "posting": {
    "weight_threshold": 1,
    "account_auths": [],
    "key_auths": [
      [
        "STM5Cg1foYwUEZPoZfRdGSgs9xD5vbjb4Y8oRycGMfSfiZy5FQhET",
        1
      ]
    ]
  },
  "memo": "STM6eiuZVzTcXxQf8kuB5SWqbCeeeLvkprX8XBCejfv5AEU2qLYaQ"
}

Witness Votes

0 / 30
No active witness votes.
[]